次のように RewriteRule を作成しようとしています。
RewriteCond %{HTTP_HOST} ^dev$ [NC]
RewriteRule ^(.*)$ test/$1 [L]
誰かがhttp://dev/index.php
それを入力すると、実際に取得されるファイルはhttp://dev/test/index.php
.
ただし、これにより内部リダイレクトの負荷が発生するようです。
誰か助けて?
追加
RewriteCond %{REQUEST_URI} !^/?test
...最初の前にRewriteCond
。
書き換えルールの[L]
フラグは (やや直感に反しますが) 書き換えプロセスを最初からやり直します。現在のルールは反復ごとに一致し、mod_rewrite は無限ループに入ります。上記を追加するRewriteCond
と、最初の反復でのみ一致することを意味します。
Apache 2.3.9 以降で実行している場合は、[END]
代わりに書き換えルールでフラグを使用できます。[L]
これにより、mod_rewrite がすぐに終了し、問題が回避されます。RewriteCond
上記のルールでは、正当に で始まるページに対してルールが機能しなくなるため、これが利用可能であれば、実際にはより良い解決策になりますtest
。