2012-05-05 18 views
0

getパラメータでRewriteRuleを作成しようとしています。これは簡単な例ですが、まだ動作しません。私はlocalhost/123に行けばGETパラメータ付きmod_rewrite

RewriteRule ^/?localhost/([0-9]+) test.php?id=$1 [QSA] 

は、だから私はtest.phpをスクリプトで$_GETとして123をしたいです。

これはなぜ失敗するのでしょうか?他のすべての「通常の」RewriteRulesは完全に機能します。

答えて

2

localhostはドメインであり、RewriteRuleに属しません。私はあなたの[QSA][L,QSA]に変更したので、それ以上のルールは実行されません。

RewriteRule ^([0-9]+) test.php?id=$1 [L,QSA] 

ドメインがローカルホストであれば、それのみ書き換えは、あなたが使用しますので、これを制限する必要がある場合RewriteCondのように:あなたがに書き換えがあった場合に有用であろう

RewriteCond %{HTTP_HOST} ^localhost$ 
RewriteRule ^([0-9]+) test.php?id=$1 [L,QSA] 

開発中のみ実行しますが、実動サーバーにデプロイした場合は実行しません。 dは[0-9]

・ホープ、このことができますの略です\

RewriteBase /localhost 
RewriteRule ^(\d+)$ test.php?id=$1 [QSA] 

+0

時にはとても簡単なこともあります...ありがとうございます。 –

0

はこれを試してみてください。

関連する問題