使用URL重写为

时间:2017-04-24 11:33:50

标签: php apache .htaccess

我有user.php文件,我使用URL Rewrite传递两个参数 但我无法使用此规则,因为无论哪个规则首先执行只执行而不是第二个规则我的规则userID规则不起作用但适用于webName。任何解决方案对我都非常有帮助。谢谢你

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^user/(.*)$ user.php?webName=$1     [L,QSA]
RewriteRule ^user/(.*)$ user.php?userID=$1    [L,QSA]   

1 个答案:

答案 0 :(得分:2)

在两个regural表达之间做出改变:

如果您想捕获用户ID,则应仅过滤数字:\d

然后,如果url中有另一个字符,不仅仅是数字,你可以匹配除kslash之外的任何字符:[^/]

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^user/(\d+)$ user.php?userID=$1     [L,QSA]
RewriteRule ^user/([^/]+)$ user.php?webName=$1    [L,QSA]