htaccess将子域重写为1个文件

时间:2013-08-14 00:13:00

标签: .htaccess mod-rewrite subdomain

我正在帮助某人访问他们的网站,他们希望在每个子域上显示模板页面(example.com/template)。

因此,当用户导航到a.example.comb.example.com等时,他们会看到example.com/template.php,但网址仍为a.example.com或{{ 1}}等等。

我知道有办法做到这一点我无法理解。
基本上我希望能够通过更改1个文件来一次更改所有页面。

我认为我接近这个代码,但我一直得到500个错误 b.example.com
RewriteCond %{HTTP_HOST} ^$.example.com$ [NC]

PS:这些是实际的域,而不是虚拟域
这就是我目前的情况

RewriteRule ^$ $1.example.com/template.php

1 个答案:

答案 0 :(得分:1)

首先,确保在Apache中加载了重写模块。有关详细信息,请参阅this answer

其次,您需要将规则更改为:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^.+\.example\.com [NC]
RewriteRule ^$ /template.php [L]