具有目录别名的 Apache 虚拟主机

具有目录别名的 Apache 虚拟主机

我正在尝试在 apache 中设置一个动态虚拟主机,并使用目录别名指向每个域的不同路径。

这就是我想要实现的目标。

假设我有 2 个域名:

* www.domain1.com
* www.domein2.com

我希望两者都指向同一个 index.php 文件 (C:/cms/index.php)。现在最难的部分是...我希望目录或某些文件类型指向每个域的不同路径。

例子:

* www.domain1.com/layout -> C:/store/www.domain1.com/layout
* www.domain2.com/layout -> C:/store/www.domain2.com/layout
* www.domain1.com/image.png -> C:/store/www.domain1.com/image.png
* www.domain2.com/image.png -> C:/store/www.domain2.com/image.png

但是,管理目录应该再次指向所有网站的相同路径

* www.domain1.com/admin -> C:/cms/admin
* www.domain2.com/admin -> C:/cms/admin

有没有办法在 apache 2.2 中实现这种行为,而不必为每个新域创建虚拟主机条目?

答案1

尝试:

DocumentRoot "C:/store/"

<Directory />
    ....
    RewriteEngine on
    RewriteCond %{REMOTE_HOST}  ^www.domain1.com$
    RewriteRule (.*)$ /www.domain1.com/$1 [L]

    RewriteCond %{REMOTE_HOST}  ^www.domain2.com$
    RewriteRule (.*)$ /www.domain1.com/$1 [L]
</Directory> 

Alias /admin C:\cms\admin

<Directory "C:\cms\admin">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory> 

答案2

您可以尝试使用 VirtualDocumentRoot,有关更多信息,请阅读 apache 文档和示例

相关内容