. 私のドメイン名が www.example.com であるとします。英語です
そして、オランダ語の言語バージョンが 1 つあります www.example.com/nl
オランダからリクエストした人のためにのみ、URL を www.example.com/nl にリダイレクトしたいと考えています。
私のウェブサイトは共有ホスティングです。どうすればこれを達成できますか?
. 私のドメイン名が www.example.com であるとします。英語です
そして、オランダ語の言語バージョンが 1 つあります www.example.com/nl
オランダからリクエストした人のためにのみ、URL を www.example.com/nl にリダイレクトしたいと考えています。
私のウェブサイトは共有ホスティングです。どうすればこれを達成できますか?
ユーザーからのブラウザの言語設定に基づいてリダイレクトできます。
RewriteCond %{HTTP:Accept-language} nl [NC]
RewriteRule ^$ /nl [L,R=301]
GeoIPサービスを使用して、訪問者の国を特定してから、適切なリダイレクトを行う必要があります。
PHP用のGeoAPIをここからダウンロードしますhttp://geolite.maxmind.com/download/geoip/api/php/
コードの使用方法のサンプルがあります。
それは次のようなものになります
include("geoipcity.inc");
include("geoipregionvars.php");
$gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat",GEOIP_STANDARD);
$record = geoip_record_by_addr($gi,$_SERVER['REMOTE_ADDR']);
if ( $record->country_code == "NL" ) {
header('Location: http://www.yoursite.com/nl');
}
apache モジュール mod_geoIP を見てください。やりたいことができるかもしれませんが、それ以外の場合は、スクリプトに依存して地理位置情報を取得し、それに基づいてリダイレクトする必要があります。
余談ですが、IP ルックアップは位置情報の取得に関して 100% 正確というわけではないので、注意してください。多くの場合、最初はユーザーに選択させてから、この選択を記憶するために Cookie を保存することをお勧めします。
編集: はい、@Pekka には良い点があります。Google にはそれに関する情報がたくさんあります。