我的.htaccess中有一条现有规则,说
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ member.php?do=$1&uid=$2&id=$3 [L]
当我访问像http://mysite/posts/3
这样的网址时,第二个参数工作正常..丑陋的网址是:
http://mysite/member.php?do=posts&uid=3
但是当我尝试添加像这样的第三个参数时:
http://mysite/posts/3/2
Ugly Url是
http://mysite/member.php?do=posts&uid=3&id=2
它不再工作了......我找不到ERROR 404 Object。
我做错了什么?
答案 0 :(得分:1)
重写规则
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ member.php?do=$1&uid=$2&id=$3 [L]
错了。它只捕获“posts / 3”但从不“posts / 3/2”。
您可以尝试添加2个规则,例如
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ member.php?do=$1&uid=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/([0-9]+)$ member.php?do=$1&uid=$2&id=$3 [L]