htaccess与某些角色没有合作

时间:2016-04-03 04:36:08

标签: php regex .htaccess

这是我的网址规则:

RewriteRule ^([a-zA-Z0-9_=-]+)/([a-zA-Z0-9_=-]+)/?$ controller/$1/$1.php?id=$2 [L]

正常使用:http://yii.abc.com/category/Grand-Opening 但没有使用:http://yii.abc.com/category/I'm-sorry

http://yii.abc.com/category/Wedding-&-ROM

2 个答案:

答案 0 :(得分:1)

尝试此规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w=-]+)/([^/]+)/?$ controller/$1/$1.php?id=$2 [L,QSA,B]

使用B标志是将整个Wedding-&-ROM作为GET参数传递的关键。

答案 1 :(得分:0)

那是因为你的角色类中没有包含角色'&

您可以通过将它们包括在内来解决此问题。

正则表达式: ^([a-zA-Z0-9_=-]+)\/(['&a-zA-Z0-9_=-]+)\/?$

<强> Regex101 Demo