.htaccess RewriteRule和Redirect冲突

时间:2014-06-02 06:14:42

标签: .htaccess mod-rewrite redirect conflict

有这个规则

RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA]

这会重定向

Redirect 301    /shops/ /magaziny
Redirect 301    /contact    /kontakty
Redirect 301    /about /o-nas
Redirect 301    /kakkupit   /kak-kupit

他们彼此冲突,例如当我去http://domain.do/shops/时 我有:

http://domain.do/magaziny?module=PageView&page_url=shops

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要在RewriteRule中添加一个条件,以便在商店,联系人,关于或kakkupit位于网址中时不会执行该条件。它看起来像这样:

Redirect 301    /shops/ /magaziny
Redirect 301    /contact    /kontakty
Redirect 301    /about /o-nas
Redirect 301    /kakkupit   /kak-kupit

RewriteCond %{REQUEST_URI} !(shops|contact|about|kakkupit)\b
RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA]
相关问题