我试图重定向两个请求,但只有一个请求有效:
RewriteEngine On
RewriteRule ^cat/([^/\.]+)?$ cat.php?id=$1 [L]
RewriteRule ^user/([^/\.]+)?$ user.php?id=$1 [L]
domain.com/cat/something - >作品
domain.com/user/12345 - >不工作($ _GET是空的)
这很奇怪,因为第一条(相同的)规则完美无缺。
也许只是因为第二条规则无法处理数字或其他内容?
谢谢!
答案 0 :(得分:0)
您很可能已启用选项MultiViews
。将此行置于.htaccess
:
Options -MultiViews
MultiViews
使用选项Apache's content negotiation module
,它在mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。因此/file
可以在网址中,但它会投放/file.php
。