2016-05-02 38 views
1

サイト上の/ en /にすべての言語を書き換えようとしています。しかし、私は間違ったことをして何がわからないのですか? https://www.shop.com/de/https://www.shop.com/のようなすべてのドメインリクエストは、https://www.shop.com/en/に書き換えなければなりません。htaccessが特定のURLに書き換えられない

なぜこれが必要ですか?まず、私の店は/ en/languageの準備ができている必要があります。すべてうまくいくと、/ 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

'/ de'や'/nl'やランディングページにマッチした 'RewriteRule ^(de | nl)?/?$/en/[L、NC、R = 301]/ja/' – anubhava