apache2 - mod_vhost_alias 和 VirtualDocumentRoot : How to add penultimate and last part?

标签 apache2 alias virtualhost mod-vhost-alias

如何获取由域名最后两部分组成的目录名。或者使用点?

例如,我有一个域 any.ms,我想要动态域 foo.any.ms 和域 bar.any.ms 还指向 /var/www/dev/any.ms/public 目录。或域any.lorem.ipsum.ms指向目录/var/www/dev/ipsum.ms/public

我的ms.conf现在(不工作,apache不会启动):

<VirtualHost *:80>
    ServerAlias *.ms
    VirtualDocumentRoot /var/www/dev/%-2%.%-1/public
    UseCanonicalName Off
    <Directory "/var/www/dev">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

我使用文档http://httpd.apache.org/docs/2.4/mod/mod_vhost_alias.html但我无法插入写 /%-2.%-1//%-2%.%-1//%-2\的点.%-1/.

最佳答案

我刚刚找到了解决方案:

If you want to include the . (dot) character in a VirtualDocumentRoot directive, but it crashes with a % directive, you can work around the problem in the following way:

VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0

工作解决方案:

<VirtualHost *:80>
    ServerAlias *.ms
    VirtualDocumentRoot /var/www/dev/%-2.0.%-1.0/public
    UseCanonicalName Off
    <Directory "/var/www/dev">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

关于apache2 - mod_vhost_alias 和 VirtualDocumentRoot : How to add penultimate and last part?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163841/

相关文章:

apache - 如何在 Apache 中删除 cookie

mod-rewrite - 如何将所有 *.html 页面重定向到 *.php 页面?

virtualhost - 如何获取主机或:authority header in Cro when using HTTP/2

linux - 无法在 LAMP 中访问本地主机

php - JavaScript 不工作 - apache2 + Ubuntu

java - jOOQ:获取别名字段的最佳方法(来自#as(alias,aliasFunction))

C# 泛型类型 typedef/alias 和 InvalidCastException

java - 如何使用 JSch 在服务器上使用别名?

google-chrome - 由于 HSTS,本地虚拟主机在 Chrome 上显示隐私错误

ubuntu - Ubuntu 10.04 上的虚拟主机。 -访问禁止错误403