我遇到了关于Apache 2.4
及VirtualHost配置的问题。
我有一个子域名sub.example.com
和一个子域名static.sub.example.com
。我尝试分配不同的DocumentRoots,但是在我的配置下方只会导致/var/www/html/
。
<VirtualHost *:80>
ServerName sub.example.com
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost *:80>
ServerName static.sub.example.com
DocumentRoot /var/www/html/static/
</VirtualHost>
我做错了什么?
其他信息:上面的配置位于一个文件/etc/apache2/sites-available/000-default.conf
中,当然已启用(默认情况下)。所有其他配置默认值不变。服务器在Ubuntu 14.04上运行。
我找到this solution,但不幸的是,它对我不起作用。
更新: apachectl -S
的输出:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.3. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80 is a NameVirtualHost
default server sub.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost sub.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost static.sub.example.com (/etc/apache2/sites-enabled/000-default.conf:6)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
// Some more lines that are not related I think
更新有关查找解决方案的其他信息:
我在我的网络服务器前面运行了一个反向代理。从000-default.conf
反向代理(也是Apache 2.4)中提取:
ProxyPass / http://webserver/ nocanon
ProxyPassReverse / http://webserver/
答案 0 :(得分:0)
添加选项ProxyPreserveHost
以反转代理的配置完成交易:
ProxyPreserveHost On
ProxyPass / http://webserver/ nocanon
ProxyPassReverse / http://webserver/