2009-08-27 9 views

答えて

3

RewriteRule左側のクエリ文字列(?など)は表示されません。それはURLのパス部分でのみ一致します。

しかし、良いニュースがある、あなたはおそらくする必要があるすべてはこれです:

RewriteEngine on 

RewriteCond %{REQUEST_URI} !\....$ 
RewriteRule ^(.*)$ /index.php?p=$1 [QSA] 

QSAオプションは、クエリ文字列を追加し、(それを置き換えるのではなく、クエリ文字列にデフォルト値を追加するために、あなたのRewriteRuleを伝えます疑いもなく全体の問題を促した)。

+0

ありがとうございます!それがなぜそうであるか知っていますか? –

+0

確かに、私は、mod_rewriteの設計者は、一方では、クエリ文字列の書き換えが導入されるほどの複雑さがなくても、すでに驚くほど複雑であると感じていたと思います。とにかくそれらを受け取るスクリプトによって自由に再解釈できるので、クエリ文字列を書き換える必要はほとんどありません。 – chaos

関連する問題