如何为每种语言创建子域?

时间:2012-04-02 17:31:37

标签: php apache subdomain virtualhost

我想用多种语言制作网站,我使用cookie来检测用户首选语言。

现在我想让每种语言的子域都在搜索引擎中编入索引,就像Facebook一样。

所以我想配置我的Apache将我的所有虚拟主机指向同一个文件夹,然后使用$ _SERVER [“SERVER_NAME”]来确定所请求的子域。

我开始在我的htaccess文件中使用此代码:

<VirtualHost *>
    ServerName mydomain.com
    ServerAlias en.mydomain.com ar.mydomain.com es.mydomain.com
</VirtualHost>

但它不起作用,当我请求es.mydomain.come时,我得到无法找到服务器吗?

BTW我在上面的代码之后使用mod_rewrite!我没有在cPanel中创建任何子域!

2 个答案:

答案 0 :(得分:4)

您可以使用通配符*

将所有子域指向同一文件夹
<VirtualHost *>
      ServerName mydomain.come
      ServerAlias *.mydomain.com
</VirtualHost>

答案 1 :(得分:1)

只要您的CNAME记录正常,就像BluesRock所说

试试这个:

<VirtualHost *:80>
  DocumentRoot /www/public //whatever the root is!
  ServerName domain.com
  ServerAlias en.domain.com, es.domain.com
</VirtualHost>

要记住的另一个注意事项:

$_SERVER["SERVER_NAME"]//will always show domain.com
$_SERVER["HTTP_HOST"]//Will show en.domain.com if that is where they entered from.