具有动态别名的动态虚拟主机 [英] Dynamic Virtual Host with Dynamic Alias
问题描述
我正在使用 DNSMasq 进行此设置.我在使用Alias时遇到问题,因为它对于动态虚拟主机根本不起作用.而且Apache文档中没有VirtualAlias
这样的东西.
I am using DNSMasq for this setup. I am having issues with Alias, as it does not work at all for dynamic virtual hosts. And there's no such a thing as VirtualAlias
in Apache documentation.
我正在尝试像以前那样为.dev
tld设置新环境,但是我遇到了问题,因为它需要更多的配置.
I am trying to setup my new environment just like I did before for .dev
tld, but I am having issues, because it require more configuration.
这是功能齐全的.dev
虚拟文档.
Here's fully functional .dev
Virtual Document.
<VirtualHost *:80>
ServerAlias *.dev
UseCanonicalName Off
VirtualDocumentRoot "/Users/nn/Sites/%1"
</VirtualHost>
在新环境中,我正在尝试为所有使用VirtualDocumentRoot的项目设置单个项目的全功能配置.
Here's fully functional configuration for single project in the new environment that I am trying to setup for all projects with 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>
这是为可能使用新环境的所有项目重新创建它的尝试. (我需要帮助的人)
And here's the attempt to recreate it for all projects that may use new environment. (the one that I need help with)
<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
.有什么提示,我一无所知吗?
It is accessible, but it searches for scripts
and styles
in the app
folder, so surely Alias
is not working. Any tips, I am clueless?
推荐答案
经过3天的长时间研究,没有人回答这个问题,我得出以下结论:
After a very long research of 3 days and this question that nobody gave answer to, I figured following:
-
Alias
-不适用于VirtualDocumentRoot
,但适用于DocumentRoot
-
AliasMatch
-不适用于VirtualDocumentRoot
,但 仅DocumentRoot
.
Alias
- Does not work forVirtualDocumentRoot
butDocumentRoot
only.AliasMatch
- Does not work forVirtualDocumentRoot
butDocumentRoot
only.
因此创建动态主机时不能使用这两个(Alias
和AliasMatch
).
Hence these two (Alias
and AliasMatch
) are not available for use when creating dynamic hosts.
如果通过mode_rewrite
以某种方式解决了该问题,我将更新此答案,因为这似乎是唯一的解决方案.希望Apache
创建:
I will update this answer if this gets resolved somehow with mode_rewrite
as this seem like the only solution. Hopefully Apache
creates:
-
VirtualAlias
-
VirtualAliasMatch
VirtualAlias
VirtualAliasMatch
不久的将来某天...
Someday in near future...
这篇关于具有动态别名的动态虚拟主机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!