当网址以斜线结尾时,我对它返回错误参数的原因感到有点困惑。
htaccess的
RewriteRule ^account/dashboard/(.*)/(.*)$ ./account/index.php?page=dashboard&aid=$1&name=$2 [L,QSA]
执行http://example.com/account/dashboard/65/blitzen12/
在页面中,我可以使用$_GET['aid]
返回65/blitzen12
,$_GET['name]
返回空
但是当我在网址的blitzen12
末尾删除斜杠时,它会正确返回65
和blitzen12
。
任何人都可以向我解释我做错了什么吗?
答案 0 :(得分:5)
你应该这样做:
RewriteRule ^account/dashboard/([^/]+)/([^/]+)/?$ ./account/index.php?page=dashboard&aid=$1&name=$2 [L,QSA]
它与greedy repetition有关。基本上,点匹配任何字符,包括斜杠(/)