我正在网站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个内部错误
请帮助并分享一些我无法解决此问题的想法
最好的问候
答案 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]