2016-04-11 12 views
1

Bilgimdeki htaccess dosyaları "yukarıdan aşağı" olarak ayrıştırılır.htaccess 301 kurallarını düzgün bir şekilde nasıl birleştirirsiniz?

bazı açık URL yönlendirmeleri tanımlayın:

Yani bu çalıştı.

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

Ve ayrıca bütün kaldırmak/de/açıkça aşağıdaki "kapsayıcı" ifadesi ile yukarıdaki yakalanmayan diğer tüm URL'lerden.

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

Bazı nedenlerden dolayı bu çalışmıyor. Yukarıdaki URL'yi, açık URL yönlendirmeleri öncesinde ve sonrasında tüm yönergeleri yakalamaya çalıştım. Her ikisi de başarı olmadan. Ayrıca, "tümünü yakala" yönergesi etkinken, açık URL yönlendirmesinin artık hiçbiri çalışmaz. Neyi denetliyorum?

cevap

0

Redirect, mod_alias modülünden ve RewriteRule, mod_rewrite modülünden biridir. Bu modüller Apache motoru tarafından farklı zamanlarda çağrıldıkça iki direktifin birlikte karıştırılması iyi bir fikir değildir.

iyi sopa mod_rewrite için kurallar:

RewriteEngine On 

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

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