htaccess无法正常工作

时间:2012-03-25 04:02:39

标签: .htaccess

我正在尝试编写一个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

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