如何使用mod_rewrite创建初始​​子域?

时间:2013-12-27 12:25:04

标签: apache mod-rewrite

我的DocumentRoot文件夹包含以下子域:

mainDomain -contains-> index.php
subDomain1 -contains-> index.php
subDomain2 -contains-> index.php

我想将mainDomain目录作为初始目录。对于例如我使用url http:/example.com获取内容,并将子域的内容作为http:/subDomain1.example.com获取。

目前我强制将所有子域文件夹移动到mainDomain以获取结果,例如:

mainDomain
- subDomain1
- subDomain2
- index.php

...但我想分开文件夹:(

这是我目前的VirtualHost设置:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html
    ServerName example.com
    ServerAlias *.example.com
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.example.com$
    RewriteCond %{HTTP_HOST} ^((.*)\.)example.com$
    RewriteRule ^/(.*) /%2/$1
</VirtualHost>

我有什么办法来修复它?

1 个答案:

答案 0 :(得分:0)

为每个子域创建一个单独的虚拟主机:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/subdomain1
    ServerName subdomain1.example.com
</VirtualHost>

对于每个子域名。

并删除:

ServerAlias *.example.com

来自主vhost的行,以及所有重写规则。