具有动态别名的动态虚拟主机
Posted
技术标签:
【中文标题】具有动态别名的动态虚拟主机【英文标题】:Dynamic Virtual Host with Dynamic Alias 【发布时间】:2016-04-27 20:47:53 【问题描述】:我正在使用 DNSMasq 进行此设置。我遇到了 Alias 的问题,因为它根本不适用于动态虚拟主机。而且 Apache 文档中没有 VirtualAlias
这样的东西。
我正在尝试设置我的新环境,就像我之前为 .dev
tld 所做的那样,但我遇到了问题,因为它需要更多配置。
这是功能齐全的.dev
虚拟文档。
<VirtualHost *:80>
ServerAlias *.dev
UseCanonicalName Off
VirtualDocumentRoot "/Users/nn/Sites/%1"
</VirtualHost>
这是我尝试使用 VirtualDocumentRoot 为所有项目设置的新环境中单个项目的完整功能配置。
<VirtualHost *:80>
DocumentRoot "/Users/nn/Sites/BaseApp/app"
ServerName base.app
Alias /scripts "/Users/nn/Sites/BaseApp/.tmp/scripts"
Alias /styles "/Users/nn/Sites/BaseApp/.tmp/styles"
<Directory "/Users/nn/Sites/BaseApp/.tmp">
Options FollowSymLinks Multiviews
Order allow,deny
Allow from all
Require all granted
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
</Directory>
</VirtualHost>
这是为所有可能使用新环境的项目重新创建它的尝试。 (我需要帮助的那个)
<VirtualHost *:80>
ServerAlias *.app
UseCanonicalName Off
VirtualDocumentRoot "/Users/nn/Sites/%1/app"
Alias /scripts "/Users/nn/Sites/%1/.tmp/scripts"
Alias /styles "/Users/nn/Sites/%1/.tmp/styles"
<Directory "/Users/nn/Sites/%1/.tmp">
Options FollowSymLinks Multiviews
Order allow,deny
Allow from all
Require all granted
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
</Directory>
</VirtualHost>
它可以访问,但它在app
文件夹中搜索scripts
和styles
,所以Alias
肯定不起作用。有什么提示,我一无所知?
【问题讨论】:
“功能齐全的配置”和“我需要帮助的配置”是否同时运行?什么版本的apache? 没有同时运行。服务器版本:Apache/2.4.16 (Unix) 【参考方案1】:经过 3 天的长期研究和这个没有人回答的问题,我想到了以下几点:
Alias
- 不适用于 VirtualDocumentRoot
但 DocumentRoot
仅限。
AliasMatch
- 不适用于 VirtualDocumentRoot
但
仅限DocumentRoot
。
因此,这两个(Alias
和 AliasMatch
)在创建动态主机时不可用。
如果通过mode_rewrite
以某种方式解决此问题,我将更新此答案,因为这似乎是唯一的解决方案。希望Apache
创建:
VirtualAlias
VirtualAliasMatch
不久的将来……
【讨论】:
您找到解决方案了吗? 不。一直没弄明白。 我在同一个地方,一直在颠倒网络。找不到解决办法。以上是关于具有动态别名的动态虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章