1

. 私のドメイン名が www.example.com であるとします。英語です

そして、オランダ語の言語バージョンが 1 つあります www.example.com/nl

オランダからリクエストした人のためにのみ、URL を www.example.com/nl にリダイレクトしたいと考えています。

私のウェブサイトは共有ホスティングです。どうすればこれを達成できますか?

4

3 に答える 3

5

ユーザーからのブラウザの言語設定に基づいてリダイレクトできます。

RewriteCond %{HTTP:Accept-language} nl [NC]
RewriteRule ^$ /nl [L,R=301]
于 2012-10-18T09:41:18.887 に答える
3

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');
}
于 2012-10-18T09:54:00.477 に答える
2

apache モジュール mod_geoIP を見てください。やりたいことができるかもしれませんが、それ以外の場合は、スクリプトに依存して地理位置情報を取得し、それに基づいてリダイレクトする必要があります。

余談ですが、IP ルックアップは位置情報の取得に関して 100% 正確というわけではないので、注意してください。多くの場合、最初はユーザーに選択させてから、この選択を記憶するために Cookie を保存することをお勧めします。

編集: はい、@Pekka には良い点があります。Google にはそれに関する情報がたくさんあります。

于 2012-10-18T09:39:42.340 に答える