PHP:子域上的多语言网站,没有许多 public_html 副本

Posted

技术标签:

【中文标题】PHP:子域上的多语言网站,没有许多 public_html 副本【英文标题】:PHP: multilingual website on subdomains w/o many copies of public_html 【发布时间】:2012-04-12 14:05:42 【问题描述】:

我有一个多语言(11 种语言)网站。现在它可以使用“语言”获取参数或 cookie 选择语言。现在我想使用子域而不是 cookie 并获取参数。但我不想为每个子域制作 11 个完整的网站副本(引擎和一些静态内容)。是否可以将一些 php 和 htaccess 代码(一小段)放入每个子域的根目录中,这样 11 个子域将只使用网站引擎和内容的一个副本。谢谢。

【问题讨论】:

【参考方案1】:

我会说将您的 Apache 配置为将您的所有 virtual hosts 指向同一个文件夹,然后使用 $_SERVER["SERVER_NAME"] 找出请求的子域。

【讨论】:

如何配置 Apache 以将所有虚拟主机指向同一个文件夹?你能写代码吗:) 它不完全在代码中,它在 Apache 配置文件中。请参阅httpd.apache.org/docs/2.0/vhosts/examples.html【参考方案2】:

除了以某种方式确定所选语言之外,您别无选择。到目前为止,我最喜欢 aSeptik 的想法,但在我的应用程序中,我宁愿使用浏览器中的 accept-language http-header 来确定用户的默认语言并使用会话(再次使用 cookie 或 POST-Parameters)来保存不同的语言选择。

【讨论】:

我需要被搜索引擎索引的所有版本的网站。这种方法不会有用。

以上是关于PHP:子域上的多语言网站,没有许多 public_html 副本的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 重写语言子域

多语言 django 网站上的搜索功能

PHP 多语言网站与PHP

php网站中英文切换

为啥我的 php 中的多语言网站不能正常工作?

如何处理 Codeigniter 上的多语言 uri 重定向?