Htaccess第三个参数不工作


htaccess 3rd parameter not working

我在我的。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]