[英]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.