我有一个 mod_rewrite 问题。或者更准确地说,我对 ISAPI_Rewrite 有疑问,它是 IIS 的 mod_rewrite 克隆。具体来说,ISAPI_Rewrite v3 在 IIS 7 上运行。它的目标是与 mod_rewrite 的行为相同,所以我希望我的问题也适用于 mod_rewrite。
我的问题归结为:我有一个脚本bar.php
,我想通过 URL 访问它foo
。我首先重写foo
为bar
. 然后尝试将干净的 URL 转换为真实的文件名。
RewriteRule ^foo$ bar
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php
RewriteCond
失败是因为仍然说“foo”而${REQUEST_FILENAME}
不是“bar”。第一次重写后不更新。
我怎样才能使这项工作?我可以通过简单地编写来解决这个问题RewriteRule ^foo$ bar.php
。但我强烈希望将 URL 重新映射规则与文件扩展名规则分开。