2

我有一家 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 中实现,访问显示动态内容的相同 MySQL 数据库。

为了最小化维护成本,我需要所有域都引用相同的公共文件子集,只有一些文件特定于一个 ccTLD(例如:.css 文件)。当用户键入www.abc.es西班牙语时, CSS 已设置(例如),www.abc.es地址加载文件的公共子集并显示与www.abc.com/es.

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

4

1 回答 1

0

您可以使用单个页面设置 ccTLD,该页面使用 URL 掩码加载您的主站点子页面。我在考虑echoing file_get_contents(ccTLC)。这意味着在 abc.fr 上,您实际上正在加载 abc.com/fr,即使 URL 是 abc.fr。

<?php
    echo file_get_contents('http://www.abc.com/fr/'); //for abc.fr, obviously
?>

这是一个非常简单的解决方案,但在您离开 abc.fr 后不会屏蔽 URL。如果您单击那里的链接,您将被带到 abc.com/fr/ 上的页面。

如果你想屏蔽整个站点(比如域名停放),你需要一些更复杂的东西,比如 PHP 屏蔽函数或 .htaccess。在我看来,.htaccess 是屏蔽整个站点的最佳选择。要使用 .htaccess 执行此操作,请查看使用 htaccess 屏蔽域和文件夹名称

于 2013-08-05T21:39:17.523 回答