我正在使用 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>
可以访问,但它会在scripts
文件夹中搜索styles
和app
,因此肯定Alias
无效。任何提示,我都无能为力?
答案 0 :(得分:2)
经过3天的长时间研究以及没有人回答的这个问题,我想到了以下几点:
Alias
- 不适用于VirtualDocumentRoot
,但DocumentRoot
仅AliasMatch
- 对VirtualDocumentRoot
不起作用
仅DocumentRoot
。因此,在创建动态主机时,这两个(Alias
和AliasMatch
)无法使用。
如果以mode_rewrite
以某种方式解决此问题,我将更新此答案,因为这似乎是唯一的解决方案。希望Apache
创建:
VirtualAlias
VirtualAliasMatch
有一天不久的将来......