具有动态别名的动态虚拟主机 [英] Dynamic Virtual Host with Dynamic Alias

查看:171
本文介绍了具有动态别名的动态虚拟主机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 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文件夹中搜索scriptsstyles,因此肯定无法使用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 for VirtualDocumentRoot but DocumentRoot only.
  • AliasMatch - Does not work for VirtualDocumentRoot but DocumentRoot only.

因此创建动态主机时不能使用这两个(AliasAliasMatch).

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆