实施多个ccTLD网站,维护最少

时间:2013-05-31 16:53:04

标签: html .htaccess dns multilingual multiple-domains

我有ABC公司,我在不同国家注册了ABC域名。

我开发了www.abc.com网站,这个主网站有很多语言子文件夹:

www.abc.com/en with hreflang=en (lang=english, geotargeting=none)

www.abc.com/fr with hreflang=fr (lang=french, geotargeting=none)

www.abc.com/es with hreflang=es (lang=spanish, geotargeting=none)

对于每个子文件夹,正确的语言文件都加载了静态内容。

现在我有其他ccTLD:

www.abc.fr with hreflang=fr-FR (lang=french, geotargeting=France)

www.abc.es with hreflang=es-ES (lang=spanish, geotargeting=spain)

www.abc.com with hreflang=en-US (lang=english, geotargeting=united states)

每个国家的TLD网站都有指向通用网站www.abc.com/xx xx=lang code的相同语言超链接。

所有站点都在PHP中实现,访问显示动态内容的SAME MySQL DB。

为了最大限度地降低维护成本,我需要所有域引用相同的公共文件子集,只有一些文件特定于一个ccTLD(例如:.css文件)。当用户键入{{1}时设置了西班牙语,设置了CSS(例如)和www.abc.es地址加载文件的公共子集,并显示与www.abc.es基本相同的内容。

所以,最后我的问题是:应该使用.htaccess来实现这个实现吗?主要命令是什么?有没有其他方法来实现这个?

1 个答案:

答案 0 :(得分:0)

您可以使用单个页面设置ccTLD,该页面通过URL屏蔽加载主站点子页面。我正在考虑echo file_get_contents(ccTLC)<?php echo file_get_contents('http://www.abc.com/fr/'); //for abc.fr, obviously ?> 这意味着在abc.fr上,你实际上正在加载abc.com/fr,即使URL是abc.fr。

{{1}}

这是一个非常简单的解决方案,但在您离开abc.fr后不会屏蔽网址。如果您点击那里的链接,您将转到abc.com/fr /.

页面

如果你想屏蔽整个网站(比如域名停放),你需要一些更复杂的东西,比如PHP屏蔽功能或.htaccess。 .htaccess是我认为掩盖整个网站的最佳选择。 要使用.htaccess执行此操作,请查看Use htaccess to mask domain and folder name