基于Apache命名的VirtualHost配置,用于一个主机中的多个站点

时间:2013-07-30 20:52:47

标签: apache .htaccess web rewrite

我的问题很简单,我认为解决方案也是如此。 我在论坛上搜索了大约2-3个小时而且没有我的答案...... -_-'。

我在主机提供商中获得了“空间”。所以他们给了我一个“www”目录。 我在这个目录中有多个文件夹,所以它就像:

www--      |      /资料夹      /资料夹      / Folder3等等..... 每个文件夹代表一个网站。 所以我想将每个网站重定向到每个文件夹,例如:

www.example1.com -> Folder1 www.example2.com -> Folder2 www.example3.com -> Folder3 etc....

-BUT-没有显示每个子文件夹... 所以这不是解决方案:www.example1.com/Folder1 这是一个解决方案:www.example1.com。 如何修改根WWW中的.htaccess文件? 提前谢谢!

2 个答案:

答案 0 :(得分:1)

这必须通过您的http服务器配置(如apache)来完成。

VirtualHosts是您在一台计算机上拆分多个域的方式,它们各自的.htaccess配置将为您的站点提供保护(用户名/密码)。

如果您只想将计算机拆分为多个主机,则无需使用.htaccess。

请参阅以下链接
Here are some VirtualHost Configuration Examples
Apache HTTP Server Tutorial
Server Config Files

摘自“基于名称的虚拟主机”上的“示例”链接:

<VirtualHost 172.20.30.50>
    DocumentRoot /www/example1
    ServerName www.example.com

    # Other directives here ...
</VirtualHost>

<VirtualHost 172.20.30.50>
    DocumentRoot /www/example2
    ServerName www.example.org

    # Other directives here ...
</VirtualHost>

配置文件通常位于/etc/apache2/apache2.conf,然后从/etc/apache2/sites-enabled/*.conf读取,这些链接本质上是/etc/apache2/sites-available/*.conf的符号链接 - 这些文件与上述代码一起使用以完成您描述的结果

您可能也有兴趣研究nginx,替代apache2。

答案 1 :(得分:0)

.htaccess不是你想要的。相反,请阅读基于名称的虚拟主机支持。您需要在 httpd.conf 文件中添加一些条目,以将每个域指向www目录中的正确文件夹。它应该非常直接。

http://httpd.apache.org/docs/2.2/vhosts/name-based.html