2012-01-05 8 views
0

ます。http:// domain.com/index.php - >のhttp:// domain.com/ - OKhtaccessファイルは、 - のindex.phpを削除しますが、index.phpのないときにindex.phpのz = ABC

http:// domain.com/index.php?z=abc - > http:// domain.com/index.php?z=abc - そうではありませんが、同じままです。 これは、以下のコードを使用して動作します。

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/ 
RewriteRule ^(.*)index\.php$ /$1 [R=301,L] 

Apacheが自動的にクエリ文字列の世話をする

http:// domain.com/index.php?z=abc -> http:// domain.com/?z=abc 

答えて

1

ように、このコードを変更する方法。必要なのはこれです:

RewriteEngine on 
RewriteRule ^index.php/[L,R=301] 
+0

以下に変更するRewriteCondが同様に完璧な作品試してみてください!ありがとうございました! – Haradzieniec

+0

[R = 301]はPOST要求を破棄します(フォームデータが消失しました)が、アドレスバーには影響しません。この理由から、索引付けのためにPOSTする場合は、このようなリライトを避けたいでしょう。 – Umbrella

+0

@ Umbrellaほとんどのサーバーのデフォルトは301です。そして、彼はアドレスバーに '/ index.php'を表示したくないので、私は彼がそれに投稿するのではないかと疑います。 – kba

1

RewriteEngine On 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php(\?[^\ ]*)?\ HTTP/ 
RewriteRule ^(.*)index\.php$ /$1 [R=301,L] 
+0

ありがとう!!!!!! – Haradzieniec

関連する問題