Apache动态子文件夹

时间:2014-03-21 10:10:26

标签: apache mod-rewrite mod-alias mod-vhost-alias

我需要设置Apache,以便它处理2个不同的磁盘位置,并根据URL上的子文件夹以不同的方式映射不同的站点:

http://localhost1/site1.com/
http://localhost1/site2.com/
http://localhost2/site3.com/
...

这将分别映射到:

C:\folderOne\site1.com\public_html
C:\folderOne\site2.com\public_html
C:\folderTwo\site3.com\public_html
...

我找到了将mod_vhost_alias,mod_alias和mod_rewrite用于不同事情的示例,但未能实现我需要的功能。

感谢。

1 个答案:

答案 0 :(得分:0)

要动态重定向网站,您可以尝试以下操作:

在Apache的sites-available文件夹中,你应该有一个名为000-deafult.conf的文件或类似文件。您需要编辑此文件以进行重定向。

但是,您可以动态地重定向到另一个子文件夹的唯一方法是,您的域名是否包含指示要使用的子文件夹的内容,例如根据TLD对域进行排序。

因此我建议如下:

 UseCanonicalName Off

 <VirtualHost *:80>
  ServerName vhosts.fqdn
  ServerAlias www.*.com
  VirtualDocumentRoot /c/com/%2/public_html
 </VirtualHost>

 <VirtualHost *:80>
  ServerName vhosts.fqdn
  ServerAlias *.com
  VirtualDocumentRoot /c/com/%1/public_html
 </VirtualHost>

<VirtualHost *:80>
  ServerName vhosts.fqdn
  ServerAlias www.*.net
  VirtualDocumentRoot /c/net/%2/public_html
 </VirtualHost>

 <VirtualHost *:80>
  ServerName vhosts.fqdn
  ServerAlias *.net
  VirtualDocumentRoot /c/net/%1/public_html
 </VirtualHost>

等等。

希望这能回答你的问题。