2016-04-11 24 views
1

據我所知,htaccess文件是從「自上而下」進行分析的。如何正確地結合htaccess 301規則

所以我試過這個:

定義一些明確的URL重定向。

Redirect 301 /de/category/product.html http://shop.de/category/productnewurl 
... 
... 

而且還刪除所有/德/從上面與下面的「一網打盡」的聲明沒有明確捕獲所有其他網址。

RewriteRule ^de((?:(?:\s*|/.*)$)) $1 [L,R=301,QSA] 

由於某種原因,這是行不通的。我嘗試在顯式URL重定向之前和之後移動上面的catch all指令。兩者都沒有成功。

此外,雖然「catch all」指令處於活動狀態,但沒有任何明確的url重定向工作。我在監督什麼?

回答

0

Redirect是從mod_alias模塊和RewriteRule是從mod_rewrite模塊。將兩個指令混合在一起不是一個好主意,因爲這些模塊在不同的時間由Apache引擎調用。

更好地堅持到mod_rewrite規則:

RewriteEngine On 

RewriteRule ^de/category/product\.html$ http://shop.de/category/productnewurl [L,NC,R=301] 

RewriteRule ^de((?:(?:\s*|/.*)$)) $1 [L,NC,R=301]