簡體   English   中英

RedirectMatch 301規則與htaccess中的RewriteRule沖突

[英]RedirectMatch 301 rule conflicts with RewriteRule in htaccess

我想為來自/ category / groceries-and-everyday / household /的請求設置301重定向

將它們重定向到:/ category / household /

我為這些請求設置了以下規則:

# The following is to redirect old urls
RedirectMatch 301 ^/category/groceries-and-everyday/household/$ /category/household/

# This is our rewrite rule for SEO friendly URLs
RewriteRule ^category/(.*)/$ /category_pages/category.php?category_string=$1&rewrite=1 [NC,QSA]

現在,當我加載/ category /雜貨和每天/家庭

我被彈到:/ category / household /?category_string = groceries-and-everyday / household&rewrite = 1

我希望此郵件僅反彈至:/ category / household /

有人可以解釋為什么會發生這種行為,以及我應該進行哪些更改才能實現所需的結果。

非常感謝

您可以嘗試將第二條規則放在第一條規則之前嗎? 基本上切換它們。

您需要從規則中排除uri 類別/住所:

RewriteCond %{REQUEST_URI} !^/category/household    RewriteRule ^category/(.*)/$ /category_pages/category.php?category_string=$1&rewrite=1 [NC,QSA]

否則,您的重寫模式^ category /(.*)/$也會將其重寫為/category_pages/category.php?category_string=$1&rewrite=1

稍微適應Starkeen的答案。

將第二個htaccess規則更改為具有以下重寫條件似乎可行。

RewriteCond %{REQUEST_URI} !^/category/groceries-and-everyday/household/(.*)
RewriteRule ^category/(.*)/$ /category_pages/category.php?category_string=$1&rewrite=1 [NC,QSA]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM