我正在尝试编写一个htaccess重写规则。但它没有重定向,
这是我现在的规则
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ question.php?qkey=$1
将显示一个类似于sitename / questionkey的网址并完美地重定向。
现在我试图显示一个像sitename / questioncatagory / questiontititle的网址
我试图使用以下规则,但它无法正常工作
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)/^([a-zA-Z0-9]+)$ question.php?qkey=$1
答案 0 :(得分:0)
首先,用([\ w] +)替换你的([a-zA-Z0-9])可能更清楚和维护
其次,由于插入符号^,您的新规则不起作用。在开始时,它表示“匹配行的开头”,这肯定不会在正则表达式中总共应用3次。删除后两个^插入符号(然后在$ 1,$ 2等处使用其他捕获的组)。
最后,您可能不需要将行尾与$字符匹配。这对许多URL都不友好,例如带有斜杠的URL。
RewriteEngine On
RewriteRule ^([\w]+)/([\w]+)/([\w]+) question.php?qkey=$1&cat=$2&qtitle=$3