- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Apache,我已经设置了 VirtualDocumentRoot,它的工作方式如下:
<VirtualHost *:80>
UseCanonicalName Off
ServerName app.example.com
ServerAlias *.example.com
VirtualDocumentRoot "/home/domains/example.com/%1"
<Directory "/home/domains/example.com/*">
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
http://mail.example.com
的 URL , DocRoot 变成
/home/domains/example.com/mail
,如果是
http://www.example.com
, DocRoot 变成
/home/domains/example.com/www
, 等等。
http://myusername.example.com
这样的域时。 , DocRoot 检查
/home/domains/example.com/myusername
并且不存在,所以应该引用
/home/domains/example.com/404
.这可能吗?
最佳答案
如果您有映射到文件夹的虚拟子域,那么您不能只检查文档根目录的存在吗?如果不存在,则重定向到 404 subdomain
反过来应该使用 /home/domains/example.com/404
也许像这样。
<VirtualHost *:80>
UseCanonicalName Off
ServerName app.example.com
ServerAlias *.example.com
VirtualDocumentRoot "/home/domains/example.com/%1"
<Directory "/home/domains/example.com/*">
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT} !-d
RewriteRule ^(.*) http://404.example.com/ [R=301,L]
</Directory>
</VirtualHost>
%{DOCUMENT_ROOT}
没有选择完整的 virtualdocumentroot 路径由于动态分配,变量,可以通过将子域分配给环境变量来尝试这种方式,然后使用它来检查路径。
<VirtualHost *:80>
UseCanonicalName Off
ServerName app.example.com
ServerAlias *.example.com
VirtualDocumentRoot "/home/domains/example.com/%1"
<Directory "/home/domains/example.com/*">
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from all
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com [NC]
RewriteRule ^(.*)$ - [E=virt_path:%1,N,NS]
RewriteCond %{DOCUMENT_ROOT}/%{ENV:virt_path} !-d
RewriteRule ^(.*) http://404.example.com/ [R=301,L]
</Directory>
</VirtualHost>
关于apache - VirtualDocumentRoot 处理不存在的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28627286/
使用 Apache,我已经设置了 VirtualDocumentRoot,它的工作方式如下: UseCanonicalName Off ServerName app.example.
在 Linux 系统上使用 Apache2 有没有办法使用 mod_vhost_alias 拥有多个 VirtualDocumentRoot ? 这是我目前正在使用并希望继续使用的命名约定: host
我试图将我的虚拟 PHP Devserver 配置为使用域的一部分来服务不同的目录,具体取决于请求来自的域...我猜 apache 缺少虚拟别名模块。我只是想不通如何检查它是否存在,如果不存在,我该如
我正在尝试为我的虚拟主机创建后备。我的配置如下所示: # Fetch all pre-defined hosts Include "conf/extra/vhosts/*.conf" # Fallba
我有一个配置为 DocumentRoot /var/www 的 LAMP 服务器更改为VirtualDocumentRoot /var/www/%-3/在 Apache2 配置文件中 - 这允许我自动
因此人们提示当 Apache 使用 VirtualDocumentRoot 和 mod_vhost_alias 运行时,使用 DOCUMENT_ROOT 的 PHP 脚本如何中断,因为 DOCUMEN
我在 ubuntu 16.04 虚拟机上进行开发工作 在我处理多个项目时,为了让我的生活更轻松,我使用 VirtualDocumentRoot 和主机文件从我的主文件夹使用 *.dev 域到服务器站点
我有几个域,我想通过 mod_vhost_alias 启用通配符子域 我的 httpd.conf 中包含以下通用规则: ServerName domain1.com ServerAl
我是一名优秀的程序员,十分优秀!