2012-02-08 9 views
0

.htaccessで単純なURLを書き直すのに問題があります。URLの簡単な書き換えの問題

私は書き換えしようとしているURLは次のとおりです。PAGE_NAMEがブログであれば

http://www.domain.com/index.php?page=PAGE_NAME 

私はPAGE_NAMEは、例えば、ドメインの後に直接になりたい:現時点では

http://www.domain.com/blog 

I成功していないと次の試み:

RewriteRule ^/?([a-zA-Z0-9_-]+)?$ index.php?page=$1 

すべての助けが本当にありがとうございます。

ありがとうございます。

私の現在の.htaccessファイル:あなたのサイトのルートディレクトリに.htaccessファイルに以下を追加

<IfModule mod_rewrite.c> 

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine On 

ErrorDocument 404 /search.php?page=notfound 

# Add WWW to URL 
RewriteCond %{HTTP_HOST} ^cristianrgreco\.com$ [NC] 
RewriteRule ^(.*)$ http://www.cristianrgreco.com/$1 [L,R=301] 

# Remove trailing slashes from end of URL 
RewriteCond %{HTTP_HOST} !^\.cristianrgreco\.com$ [NC] 
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [L,R=301] 

# Rewrite main page URLs 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?page=([^\ ]+) [NC] 
RewriteRule^%1? [L,R=301] 
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1 [L,NC] 

# Rewrite download URLs 
RewriteRule ^download/([a-zA-Z0-9._-]+)/?$ download.php?file=$1 

# Rewrite page navigation links 
RewriteRule ^(.+?)/page-([a-zA-Z0-9_-]+)?$ $1.php?currentpage=$2 

# Rewrite article URLs 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/?([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ articles.php?article=$2 

# Remove file extension from PHP files 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [NC,L,QSA] 

</IfModule> 

答えて

0

してみてください。私はただのindex.phpからsearch.phpに行く場合は今、すべてのページは、例えば、あるindex.phpに向けます、一つの問題を発見した

RewriteEngine on 
RewriteBase/

#add these next 2 lines if you need to redirect http://www.domain.com/index.php?page=PAGE_NAME to http://www.domain.com/PAGE_NAME 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?page=([^\ ]+) [NC] 
RewriteRule^%1? [L,R=301] 

#send request to index.php 
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1 [L,NC] 
+0

、index.phpのは、「ページが見つかりません」というエラーが送信されます – Cristian

+0

@Cristian私はこのソリューションを数回編集しました。上記のバージョンはありますか?そうでない場合は、最新のものを使用できますか? yesの場合、上記の 'RewriteRule'は' search.php'と一致せず、あなたが記述した結果を引き起こすべきではありません。 .htaccessに他のルールがありますか? –

+0

私はそれを作る方法がわかりませんが、問題はdomain.com/XXXXがindex.phpに送られた後のすべてです、domain.comの場合はindex.phpにしか向かわないようにする方法です/?page = XXXX? – Cristian