2016-04-11 9 views
1

私の知る限り、htaccessファイルは「トップダウン」から解析されます。htaccess 301のルールを正しく組み合わせるには

だから私はこれを試してみました:

は、いくつかの明示的なURLのリダイレクトを定義します。

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

、さらにすべてを削除/デ/明示的に以下の「キャッチすべて」文を使用して、上記捕捉されない他のすべてのURLから。

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

何らかの理由でこれが機能しません。明示的なURLリダイレクトの前後に、上記のcatchディレクティブを移動しようとしました。どちらも成功しない。

さらに、 "catch all"ディレクティブがアクティブである間は、明示的なurlリダイレクトはもう機能しません。私は何を監督していますか?

答えて

0

Redirectは、mod_aliasモジュールであり、RewriteRuleは、mod_rewriteモジュールである。これらのモジュールはApacheエンジンによって異なる時間に呼び出されるため、両方のディレクティブを混在させることはお勧めできません。

RewriteEngine On 

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

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

より良いスティック

関連する問題