我在我的。htaccess中有一个规则写着
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ member.php?do=$1&uid=$2&id=$3 [L]
当我访问像http://mysite/posts/3
这样的URL时,第二个参数工作得很好。它的丑陋url是这样的:
http://mysite/member.php?do=posts&uid=3
但是当我尝试添加第三个参数时,就像这样:
http://mysite/posts/3/2
丑Url
http://mysite/member.php?do=posts&uid=3&id=2
它不工作了…我得到错误404对象未找到。
我做错了什么?
重写规则
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]