如何使用多个子域进行多个引用

时间:2013-10-27 19:05:34

标签: php regex .htaccess mod-rewrite subdomain

我正在网站www(点)shopingmart(点)com基本上是一个机密网站,我需要解决一个问题即时通讯现在我花了很多时间但无法解决。我试图实现。

如果用户访问newyork.example.com或ohio.example.com

这两个城市指向相同的网站意味着www.example.com

但显示与城市相关的内容(如OLX Done)

我创建了带有A记录的通配域* .example.com 我还创建了两个子域

newyork.example.com and 

ohio.example.com 

还创建.htaccess以将流量重定向到index.php

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

然后解析

$_SERVER['HTTP_HOST'] to obtain subdomain 

但是当我输入newyork.example.com时,它会给我500个内部错误

请帮助并分享一些我无法解决此问题的想法

最好的问候

1 个答案:

答案 0 :(得分:0)

您应该使用通配符创建虚拟主机以接受来自特定域的所有子域。

这是我制作的系统的配置示例,基本上可以满足您的需求:

NameVirtualHost *:80
<VirtualHost *:80>
     DocumentRoot /www/your_site
     ServerName example.com
     ServerAlias *.example.com
</VirtualHost>

这使Apache能够接收特定域的所有子域(别名)。

您应首先尝试此方法而不使用重写规则,并且只在通配符工作后插入规则。

编辑:

关于子域下的资产路径更改,重写规则需要指向文档根目录下的index.php:

RewriteRule . %{DOCUMENT_ROOT}/index.php [L]