mod_rewriteの問題があります。もっと正確に言うと、IISのmod_rewriteクローンであるISAPI_Rewriteに問題があります。具体的には、IIS7で実行されているISAPI_Rewritev3です。これはmod_rewriteと同じように動作することを目的としているため、私の問題がmod_rewriteにも当てはまることを願っています。
私の問題はこれに要約されます:私はbar.phpURLを介してアクセスしたいスクリプトを持っています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再マッピングルールをファイル拡張子ルールとは別にしておくことを強くお勧めします。