我有一个问题,那就是我的VirtualHost覆盖了同一个域中的另一个VirtualHost。
httpd.conf
IncludeOptional conf.d/*.confexample.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/example/
ServerName www.example.com
ServerAlias www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/html/example/
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/example/example.crt
SSLCertificateKeyFile /etc/httpd/ssl/example/example.key
SSLCertificateChainFile /etc/httpd/ssl/example/chain.cer
ServerName www.example.com
ServerAlias www.example.com
</VirtualHost>get.example.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/get.example/
ServerName get.example.com
ServerAlias get.example.com
</VirtualHost>当我创建get.example.conf和访问example.com时,它会显示get.example.com的内容
有人知道我的配置出了什么问题吗?
发布于 2017-12-10 20:48:19
我发现我还需要包含VirtualHost的非www。如果我输入的是www.example.com而不是example.com,它就会起作用。
<VirtualHost *:80>
ServerName example.com
Redirect permanent / http://www.example.com/
</VirtualHost>发布于 2019-08-30 22:34:16
您只需设置de ServerAlias即可。在您的示例中,执行以下操作就足够了:
<VirtualHost *:80>
DocumentRoot /var/www/html/example/
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>请注意,ServerName没有www,因此它将与匹配,而ServerAlias将与匹配
发布于 2017-12-10 16:14:53
尝试将ServerName和ServerAlias的顺序改为您的get.example.conf:
<VirtualHost *:80>
ServerName get.example.com
ServerAlias get.example.com
DocumentRoot /var/www/html/get.example/
</VirtualHost>https://stackoverflow.com/questions/47735675
复制相似问题