mod_rewriteを使用してIISのクリーンURL
-
25-09-2019 - |
質問
mod_rewriteの問題があります。より正確には、IISのmod_rewriteクローンであるISAPI_REWRITEに問題があります。具体的には、IIS 7で実行されているISAPI_REWRITE V3は、mod_rewriteと同じように振る舞うことを目指しているため、mod_rewriteにも問題が当てはまることを願っています。
私の問題はこれに要約されます:私はスクリプトを持っています bar.php
URLを介してアクセスしたい foo
. 。最初に書き直します foo
に bar
. 。次に、クリーンURLを実際のファイル名に変換してみてください。
RewriteRule ^foo$ bar
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php
RewriteCond
失敗しているからです ${REQUEST_FILENAME}
まだ「バー」ではなく「フー」と言っています。最初の書き直しの後に更新されません。
どうすればこれを機能させることができますか?単に書くだけでこれを修正することができます RewriteRule ^foo$ bar.php
. 。ただし、ファイル拡張ルールとは別にURLの再マッピングルールを維持することを強く好みます。
解決
暫定的な答え...
RewriteCond %{DOCUMENT_ROOT}/$0.php -f
使用して $0
私は最新の書き換えられたURLにアクセスできるので、私は幸せになります。しかし、私は追加する必要があります %{DOCUMENT_ROOT}
それをファイル名に変えるために、それは私を悲しくさせます。少しのクラッジ。
所属していません StackOverflow