一些上下文:
我们目前有 5 个版本的网站(美国、英国、加拿大、澳大利亚、新加坡),每个版本都有 TLD。我们刚刚决定将其扩展到 10-12 个站点,这些站点将代表 4 或 5 种语言(我们当前的站点只有英文)。
我们将使用每个国家/地区的 TLD(即 www.domain.fr)以及路径中包含国家/地区和语言的“.com”(即 www.domain.com/fr/fr),所有这些都指向相同的站点/文件,甚至希望使用相同的 CSS 文件。
我认为我们已经解决了如何根据用户区域设置(zend_translate 或者可能是 GetText)来提供不同的文本内容。然而,一些位置还需要在已建立的结构中托管独特的图像或其他特定于位置的内容(比如说,假设有 3 个 block /div,我们根据用户位置在其中放置不同的“广告”)。
问题:
是否有特定于 PHP/MySQL 的“最佳方式”来根据用户的位置提供一些独特的内容——所有这些都在一个共享站点结构中? (请注意这不是关于翻译,而是关于特定位置的内容)
示例:
ikea.com、ikea.pl、ikea.com/pl/pl 是我们想要实现的一个很好的例子
最佳答案
假设没有特定于 PHP
/MySQL
的最佳方法。
最好的方法就是思考它,这完全取决于您的需要。对于您的小型广告问题,如果您没有使用任何可以定位客户位置的大型广告公司,您可以使用MySQL
并创建特定的 block
每个 TLD
的区域,因此您可以在该数据 block 的每个域中运行不同的内容。
图像可以托管在同一个地方,如果它们具有唯一的名称,则可以在同一个目录中,而且您可以再次使用 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.com
中没有看到任何与 ikea.pl
类似的东西,甚至连 Logo 都没有)
关于php - 根据用户在一个共享站点结构中的位置提供独特的内容(不是翻译)。 (PHP/MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12117705/