2014-03-01 43 views
1

我有一個相當複雜的.htaccess與30重定向規則。現在,客戶希望將語言特定部分添加到網址的開頭。htaccess將語言部分添加到現有的重定向規則

示例:http://example.eu/sale應該是http://example.eu/de/sale其中「de」是5種語言之一的語言代碼。

我發現這一點:

RewriteRule ^(en|de|fr|ja|ru)/(.*)$ $2?language=$1 [L,QSA] 

有一個簡單的方法來將此功能添加到現有的規則? (下面是一些現有的規則)

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.example\.eu$ [NC] 
RewriteRule (.*) http://example.eu/$1 [R=301,L] 

RewriteRule ^sale sale.php [NC] 
RewriteRule ^brands/([^/]+) /designer.php?idnr=$1 [NC] 
RewriteRule ^product/([^/]+)/([^/]+) /product.php?pid=$1&fsite=$2 [NC] 

回答

0
  1. 確保所有R規則是在頂部。
  2. 右後R規則,你應該有你的新規則:

    RewriteRule ^(en|de|fr|ja|ru)/(.*)$ $2?language=$1 [L,QSA] 
    
  3. 休息的內部重寫規則應始終與這些標誌結束:

    [L,QSA,NC] 
    
+0

謝謝!我的規則是錯誤的順序 – user3336208

+0

不客氣,很高興它的工作。 – anubhava