2017-02-03 7 views
0

助けてください、私は英語が主要言語htaccessの言語のリダイレクトループ

あるウェブサイトを持っていることは、言語のフォルダがあります。

/de 
/es 
/it 
/fr 

私がメインとして英語を持っていると何のエン英語のフォルダがありませんドメインので、英語のファイルは、私が持っている

パブリックHTMLフォルダにあるのhtaccess

RewriteCond %{REQUEST_URI}   ^/$ 
RewriteCond %{HTTP:Accept-Language} ^(it|fr|de|es) [NC] 
RewriteRule ^$ http://%{HTTP_HOST}/%1/ [L,R=301] 

これは完全にこのバグとは別に動作します ループがあります

言語ブラウザが英語ではなくスペイン語やフランス語などの場合、英語のフラグをクリックしてサブフォルダなしのメインドメインである英語版にすることはできませんループを自分の言語にリダイレクトするだけです

/enを作成せずにこの問題を解決する簡単な方法はありますか?

感謝

答えて

0

はい、私は英語へのあなたのリンクに?lang=enを設定し、にあなたのルールを変更している示唆するもの:、

RewriteCond %{QUERY_STRING} !=lang=en 
RewriteCond %{HTTP:Accept-Language} ^(it|fr|de|es) [NC] 
RewriteRule ^$ http://%{HTTP_HOST}/%1/ [L,R] 

そしてまた、私は上記のやっている、一時的にリダイレクトを変更したり、リダイレクトはブラウザにキャッシュされます。

あなたのRewriteRuleで既にチェックされているので、request_uriチェックを削除しました。

+0

ありがとう、私は完全に理解しているが、試してみません! – Paul

+0

pagecantは表示されないということはありませんか? – Paul

関連する問題