我在我的 Mac OS X (10.8) 开发计算机上遇到了一个奇怪的问题。我将 mod_rewrite 配置为打开,它似乎在某些情况下确实有效。我现在有一个测试规则,我正在努力工作,但它不会,除非我改变规则做一些我不想要的事情。
这是规则:
RewriteRule ^driver/([0-9]+)$ driver.php?d=$1 [L]
现在,如果我尝试调用驱动程序/411。apache 似乎正在做的是调用没有 GET 参数的 driver.php 并完全忽略 .htaccess 规则。我知道这是真的,因为这个带有硬编码值的规则也失败了:
RewriteRule ^driver/([0-9]+)$ driver.php?d=411 [L]
但是,如果我将要查找的前缀替换为与文件名前缀不匹配,则它可以工作:
RewriteRule ^driverz/([0-9]+)$ driver.php?d=$1 [L]
有谁知道我如何告诉 apache 不要这样做?