mod_rewriteの問題があります。もっと正確に言うと、IISのmod_rewriteクローンであるISAPI_Rewriteに問題があります。具体的には、IIS7で実行されているISAPI_Rewritev3です。これはmod_rewriteと同じように動作することを目的としているため、私の問題がmod_rewriteにも当てはまることを願っています。
私の問題はこれに要約されます:私はbar.php
URLを介してアクセスしたいスクリプトを持っていますfoo
。私は最初にに書き直しfoo
ますbar
。次に、クリーンURLを実際のファイル名に変換してみます。
RewriteRule ^foo$ bar
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php
まだ「bar」ではなく「foo」と表示されているため、RewriteCond
は失敗しています。${REQUEST_FILENAME}
最初の書き換え後は更新されません。
どうすればこれを機能させることができますか?を書くだけでこれを修正できますRewriteRule ^foo$ bar.php
。ただし、URL再マッピングルールをファイル拡張子ルールとは別にしておくことを強くお勧めします。