1

いくつかのコンテキスト:
現在、サイトの5つのバージョン(米国、英国、CA、AU、SG)があり、それぞれにTLDがあります。これを4または5言語を表す10〜12のサイトに拡張することを決定しました(現在のサイトは英語のみです)。

各国のTLD(www.domain.frなど)と、パスに国と言語が含まれる「.com」(www.domain.com/fr/frなど)をすべて同じサイトを指すように使用します。ファイル、できれば同じCSSファイルを使用することもできます。

ユーザーのロケール(zend_translateまたは場合によってはGetText)に基づいてさまざまなテキストコンテンツを提供する方法を解決したと思います。ただし、一部の場所では、確立された構造内で一意の画像やその他の場所固有のコンテンツをホストする必要もあります(仮に、ユーザーの場所に基づいて異なる「広告」を配置する3つのブロック/ divがあるとします)。

質問:
ユーザーの場所に基づいて、すべて単一の共有サイト構造内でいくつかの固有のコンテンツを提供するためのPHP / MySQL固有の「最良の方法」はありますか?(これは翻訳に関するものではなく、場所固有のコンテンツに関するものであることに注意してください)

例:
私たちが達成したいことの本当に素晴らしい例は、ikea.com、ikea.pl、ikea.com / pl/plです。

4

1 に答える 1

0

仮にPHP/MySQL特定の最善の方法はありません。

最良の方法は、それを考える方法です。それはすべて、必要なものによって異なります。小さな広告の問題については、クライアントの場所をターゲットにできる巨大な広告会社を使用していない場合は、それぞれに特定のゾーンを使用MySQLして作成できるため、そのデータブロック内のすべてのドメインで異なるコンテンツを実行できます。blockTLD

画像は同じ場所、一意の名前がある場合は同じディレクトリでホストできます。また、MySQLを使用して、所有しているものと場所を追跡できます。

例えば:

$myTLD = $_SERVER['SERVER_NAME']; // get host
$myTLD = preg_replace('#^www\.(.+\.)#i', '$1', $myTLD); // remove www if exists
switch ($myTLD) {
    case 'example.org':
        include 'banners_for_org.php';
        break;
    case 'example.net':
        include 'banners_for_net.php';
        break;
    default:
        include 'banners_general.php';
}

(追記:ロゴも含めて、にikea.pl似たようなものは見当たりません)ikea.com

于 2012-08-24T23:12:34.357 に答える