这是我的网址规则:
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
答案 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 强>