我正试图以这种方式使用友好网址:
RewriteRule ^index/([1-9]{1,5})$ /index.php?id=$1 [L]
RewriteRule ^contact/([1-9]{1,5})$ /contact.php?id=$1 [L]
但这不起作用,我认为这是因为我在RegEx中使用该文件的名称。
这很好用:
RewriteRule ^home/([1-9]{1,5})$ /index.php?id=$1 [L]
RewriteRule ^emailus/([1-9]{1,5})$ /contact.php?id=$1 [L]
我不知道是不是可以在文件中使用文件的名称,请问,有人知道修改此配置的方法吗?在其他情况下,我将不得不更改我的文件的所有名称。
答案 0 :(得分:1)
这听起来像是Multiviews的情况,mod_negotiation在其不受欢迎的情况下养成了丑陋的脑袋。
可能发生的事情是你有mod_negotiation看到请求是/contact/123
并注意到有/contact.php
文件,然后立即提供该文件并完全绕过mod_rewrite。你需要把它关掉:
Options -Multiviews