2016-06-07 90 views
0

重寫規則規則衝突我想設置301重定向從請求:/分類/雜貨-和日常/戶/RedirectMatch 301 htaccess的

他們重定向到:/類/家用/

我具有下列規則設置爲這些請求:

# 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] 

現在,當我加載/分類/我被彈到雜貨,和日常/戶

:/範疇上?Y /戶/ category_string =雜貨-和日常/戶&重寫= 1

我想這個反彈只是:/類/家用/

有人可以請解釋爲什麼這種行爲正在發生什麼我應該做些改變以達到我想要的結果。

非常感謝

回答

0

對Starkeen的回答略作調整。

更改第二個htaccess規則以使下列重寫條件出現工作。

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

你可以試着將第二個規則的第一個規則之前?基本上切換它們。

+0

這使得絕對沒有區別恐怕 –

0

您需要從規則中排除的URI 類/家用

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

否則你重寫模式^類/(.*)/$也將它改寫爲/category_pages/category.php?category_string = $ 1 & rewrite = 1

+0

試過這個,它不起作用。問題是重寫規則需要應用於類別/家庭。儘管301重定向不應該將URL參數附加到URL。 –