1

一些背景:
我们目前有 5 个版本的网站(美国、英国、加拿大、澳大利亚、新加坡),每个版本都有 TLD。我们刚刚决定将其扩展到 10-12 个站点,代表 4 或 5 种语言(我们当前的站点只有英语)。

我们将使用每个国家/地区的 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特定的最佳方式

最好的方法是思考它的方法,这完全取决于您的需求。对于您的小广告问题,如果您没有使用任何可以定位客户位置的 HUGE ADS 公司,您可以使用MySQL并为每个区域创建block特定区域TLD,这样您就可以在该数据块中的每个域中运行不同的内容。

如果图像具有唯一的名称,图像可以托管在同一个位置、同一个目录中,并且您可以再次使用 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';
}

(PS:我没有看到任何类似的东西ikea.plikea.com甚至没有标志)

于 2012-08-24T23:12:34.357 回答