パラメータを取得して RewriteRule を作成しようとしています。これは単純な例ですが、それでも機能しません。
RewriteRule ^/?localhost/([0-9]+) test.php?id=$1 [QSA]
したがって、私が行くと、test.php スクリプトのasがlocalhost/123
必要になります。123
$_GET
これが失敗する理由は何ですか?他のすべての「通常の」RewriteRules は完全に機能します。
パラメータを取得して RewriteRule を作成しようとしています。これは単純な例ですが、それでも機能しません。
RewriteRule ^/?localhost/([0-9]+) test.php?id=$1 [QSA]
したがって、私が行くと、test.php スクリプトのasがlocalhost/123
必要になります。123
$_GET
これが失敗する理由は何ですか?他のすべての「通常の」RewriteRules は完全に機能します。
はlocalhost
ドメインで、 には属しませんRewriteRule
。そして、私はあなた[QSA]
をに変更した[L,QSA]
ので、それ以上のルールは実行されません.
RewriteRule ^([0-9]+) test.php?id=$1 [L,QSA]
これを制限して、ドメインが localhost の場合にのみRewriteCond
書き換える必要がある場合は、次のように使用します。
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule ^([0-9]+) test.php?id=$1 [L,QSA]
これは、開発中にのみ実行するために書き換えがあった場合に役立ちますが、運用サーバーにデプロイされた場合には役立ちません。
これを試して:
RewriteBase /localhost
RewriteRule ^(\d+)$ test.php?id=$1 [QSA]
\d は [0-9] を表します
お役に立てれば。