htaccess规则冲突?

时间:2009-07-27 08:00:51

标签: apache .htaccess mod-rewrite url-rewriting

在我的.htaccess文件中,我定义了以下规则。

RewriteRule t/([^.]+)/$ /video/tag.php?tag=$1 [QSA]

此规则适用于标记页。当我以http://example.com/video/t/funny/访问网址时,它会显示带有标记搞笑的所有结果。

但是当我访问网址http://example.com/video/script/common/video.php时,它显示带有搜索标记的TAG页面会导致标记常见。我认为URL和.htaccess规则之间存在一些冲突。

接受/t/common/并对此应用htaccess规则。如何解决这个问题??

1 个答案:

答案 0 :(得分:2)

您的重写规则与相关字符串匹配。你想把它改成这样:

RewriteRule ^/video/t/([^.]+)/$ /video/tag.php?tag=$1 [QSA]

基本上,正在发生的事情是,由于您未指定规则的START,因此它与您网址中“脚本”的结尾相匹配,并将其从那里取走。

如果你想要一个不太具体的字符串,试试这个:

RewriteRule /t/([^.]+)/$ /video/tag.php?tag=$1 [QSA]