Htaccess不明智的子域

时间:2013-09-01 16:09:40

标签: apache .htaccess

当我在寻找托管时,我发现了一个叫做co.gp的人(他们有更多),所以这个托管非常好,我发现它可以让你放置你想要的任何假子区域。
如果您的网站example.org托管允许您放置test1.example.orgtest2.example.org
我在htaccess的帮助下搜索了很多,但我无法制作一个像我正在寻找的。所以我的问题在这里。我如何在我的网站上伪造子域?

Ps:我不希望子域名重定向,例如,如果某人键入test.example.org/something,我希望它与example.org/something相同。

1 个答案:

答案 0 :(得分:1)

Htaccess文件在这里没有多大帮助,因为它们位于文档根目录下,因此在apache确定哪个虚拟主机指向此特定文档根目录后进行评估。

假设您的DNS条目配置良好,您应该直接修改apache主配置。

如果每个子域指向不同的文档根目录,则必须为每个子域创建一个虚拟主机:

<VirtualHost *>
    ServerName example.org        

    DocumentRoot /path/to/example.org
    # ...
</VirtualHost>

<VirtualHost *>
    ServerName test1.example.org        

    DocumentRoot /path/to/test1.example.org
    # ...
</VirtualHost>

相反,如果有几个子域指向单个文档根,则可以使用ServerAlias指令:

<VirtualHost *>
    ServerName example.org
    ServerAlias test1.example.org

    DocumentRoot /path/to/example.org
    # ...
</VirtualHost>

如果所有可能的子域都指向同一个文档根目录,那么您可以免除在ServerAlias列表中列出每个子域名的痛苦,并使用通配符代替:

<VirtualHost *>
    ServerName example.org
    ServerAlias *.example.org

    DocumentRoot /path/to/example.org
    # ...
</VirtualHost>

当然,需要更多配置指令来确保每个虚拟主机正常工作,但这些是您应该了解的主要构建块,以便进行有效的设置。