2016-05-02 96 views
1

我嘗試將所有語言重寫爲/ en /在網站上。但我做錯了什麼,不知道是什麼。 所有的域名請求,如https://www.shop.com/de/https://www.shop.com/必須重寫爲https://www.shop.com/en/htaccess重寫到特定的網址不起作用

爲什麼我需要這個?首先我的商店必須準備好在/ en /語言。當一切正常,我會加/ de /然後/ nl /。

有人有我的解決方案嗎?會很好。

這裏我htaccess的使用代碼:

<IfModule mod_rewrite.c> 
RewriteEngine  On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L] 
RewriteRule https://www.shop.com/de/ https://www.shop.com/en/ 
RewriteRule https://www.shop.com/nl/ https://www.shop.com/en/ 
RewriteRule https://www.shop.com https://www.shop.com/en/ 
RewriteRule https://www.shop.com/ https://www.shop.com/en/ 
</IfModule> 

回答

0

不能在RewriteRule匹配完整的URL。

您可以使用這些規則:

RewriteEngine On 
RewriteBase/

RewriteRule ^(de|nl)?/?$ /en/ [L,NC,R=301] 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . index.php [L] 
+1

您的解決方案的偉大工程!只有不理解這兩個索引行。希望你能解釋他們。謝謝。 – Hermants

+0

我剛剛添加了一個新的規則:'rewriteRule ^(de | nl)?/?$/en/[L,NC,R = 301]'匹配'/ de'或'/ nl'或者着陸頁並且重定向到'/EN /' – anubhava