Apache 具有动态别名的动态虚拟主机

Apache 具有动态别名的动态虚拟主机,apache,virtualhost,httpd.conf,mod-alias,Apache,Virtualhost,Httpd.conf,Mod Alias,我正在使用DNSMasq进行此设置。我对Alias有问题,因为它对动态虚拟主机根本不起作用。在Apache文档中没有所谓的VirtualAlias 我正试图像以前为.devtld所做的那样设置我的新环境,但是我遇到了问题,因为它需要更多的配置 这是一个功能齐全的.dev虚拟文档 <VirtualHost *:80> ServerAlias *.dev UseCanonicalName Off VirtualDocumentRoot "/Users/nn/Sit

我正在使用DNSMasq进行此设置。我对Alias有问题,因为它对动态虚拟主机根本不起作用。在Apache文档中没有所谓的
VirtualAlias

我正试图像以前为
.dev
tld所做的那样设置我的新环境,但是我遇到了问题,因为它需要更多的配置

这是一个功能齐全的
.dev
虚拟文档

<VirtualHost *:80>
    ServerAlias *.dev
    UseCanonicalName Off
    VirtualDocumentRoot "/Users/nn/Sites/%1"
</VirtualHost>

ServerAlias*.dev
UseCononicalName关闭
VirtualDocumentRoot“/Users/nn/Sites/%1”
下面是我试图为所有使用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> 

DocumentRoot“/Users/nn/Sites/BaseApp/app”
ServerName base.app
别名/scripts“/Users/nn/Sites/BaseApp/.tmp/scripts”
别名/styles“/Users/nn/Sites/BaseApp/.tmp/styles”
选项如下符号链接多视图
命令允许,拒绝
通融
要求所有授权
ErrorDocument 403/403.php
ErrorDocument 404/404.php
ErrorDocument 500/500.php
这里尝试为所有可能使用新环境的项目重新创建它(我需要帮助的那个)


ServerAlias*.app
UseCononicalName关闭
VirtualDocumentRoot“/Users/nn/Sites/%1/app”
别名/scripts“/Users/nn/Sites/%1/.tmp/scripts”
别名/styles“/Users/nn/Sites/%1/.tmp/styles”
选项如下符号链接多视图
命令允许,拒绝
通融
要求所有授权
ErrorDocument 403/403.php
ErrorDocument 404/404.php
ErrorDocument 500/500.php

它是可访问的,但它在
app
文件夹中搜索
脚本
样式
,因此肯定
别名
不起作用。任何提示,我都不知道?

经过3天的长时间研究,这个问题没有人回答,我想:

  • Alias
    -不适用于
    VirtualDocumentRoot
    ,但适用于
    DocumentRoot
    只是
  • AliasMatch
    -不适用于
    VirtualDocumentRoot
    ,但
    DocumentRoot
    仅限
因此,这两个(
Alias
AliasMatch
)在创建动态主机时不可用

如果通过
mode\u rewrite
解决了这个问题,我会更新这个答案,因为这似乎是唯一的解决方案。希望Apache能够创建:

  • VirtualAlias
  • VirtualAliasMatch

在不久的将来某天…

是否同时运行“全功能配置”和“我需要帮助的配置”?什么版本的apache?没有同时运行。服务器版本:Apache/2.4.16(Unix)找到解决方案了吗?没有。我从来没想过。我也在同一个地方,一直在把网络搞得乱七八糟。找不到解决办法。
<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>