2017-04-26 14 views
1

私のサイトの.htaccessファイルにいくつかのモッズリライトコードを使用して、ブラウザ言語をさまざまな言語に設定したユーザーを自分のサイトの別のバージョンにリダイレクトします。これはうまくいっていますが、ユーザーがブラウザの言語設定に基づいて自動的にリダイレクトされるバージョンではなく、メインの英語バージョンを表示したいときにこれらの書き換えルールを上書きできる方法が必要です。htaccess mod-rewrite言語のオーバーライド

たとえば、ユーザーAのブラウザ言語が韓国語に設定されている場合、example.comサイトにアクセスします。書き換えルールは韓国語に設定されていると解釈し、example.co.krに移動します。 kr私の言うところのボタンがあります - このウェブサイトの英語版を表示してください(example.comにリンクしています) - example.comにリンクしていますが、現在はexample.co.krにリライトしていますスクリプトの書き換え...

書き換えスクリプトを記述して、上書きルールを適用して強制的にexample.comサイトに保存したい場合は、どうすればよいですか?私が持っている

書き換えコードは次のとおりです。

RewriteEngine On 
RewriteBase/

#RewriteCond %{HTTP:Accept-Language} ^en [NC] 
#RewriteRule ^$ https://example.com/ [L,R=301] 

RewriteCond %{HTTP:Accept-Language} ^ko [NC] 
RewriteRule ^$ https://example.co.kr/ [L,R=301] 

RewriteCond %{HTTP:Accept-Language} ^pt [NC] 
RewriteRule ^$ https://example.com/br/ [L,R=301] 

RewriteCond %{HTTP:Accept-Language} ^pt-PT [NC] 
RewriteRule ^$ https://example.com/br/ [L,R=301] 

RewriteCond %{HTTP:Accept-Language} ^pt-BR [NC] 
RewriteRule ^$ https://example.com/br/ [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(|ko|pt|pt-PT|pt-BR)/?$ https://example.com/ [QSA,NC,L] 

任意のアイデア?

乾杯、あなたが例えば特別なクエリパラメータを探すために、あなたのルールを変更する必要が

+0

クエリにパラメータを追加し、書き換えルールでそのパラメータを確認します。 Accept-Languageヘッダーとボイラーにクエリパラメーターを使用します。 – Murf

+0

ありがとう@Murf - コード提案/リンクの任意のチャンス - htaccessコードは私にとっては新しく//ありがたいです – dubbs

+0

これを達成するためのアイデアは誰ですか? – dubbs

答えて

1

このようなnotKO

RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} !notKO [NC] 
RewriteCond %{HTTP:Accept-Language} ^en [NC] 
RewriteRule ^$ https://example.com/ [L,R=301] 

RewriteCond %{QUERY_STRING} !notKO [NC] 
RewriteCond %{HTTP:Accept-Language} ^ko [NC] 
RewriteRule ^$ https://example.co.kr/ [L,R=301] 

RewriteCond %{QUERY_STRING} !notKO [NC] 
RewriteCond %{HTTP:Accept-Language} ^pt [NC] 
RewriteRule ^$ https://example.com/br/ [L,R=301] 

RewriteCond %{QUERY_STRING} !notKO [NC] 
RewriteCond %{HTTP:Accept-Language} ^pt-PT [NC] 
RewriteRule ^$ https://example.com/br/ [L,R=301] 

RewriteCond %{QUERY_STRING} !notKO [NC] 
RewriteCond %{HTTP:Accept-Language} ^pt-BR [NC] 
RewriteRule ^$ https://example.com/br/ [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(|ko|pt|pt-PT|pt-BR)/?$/[NC,L] 

は、今すぐあなたのshow me abc version of this websiteボタンクリックで?notKOクエリパラメータの送信を開始する必要があります。

この変更をテストする前に、ブラウザをクリアしてください。

+1

ありがとう@anubhava - うまくいきます! – dubbs

関連する問題