在绑定中,我使用CNAME作为old.domain.com到new.domain.com的重定向器 还有old.domain是我删除的vhost 每个vhost都有http重定向到https,但问题是当在webbrowser中键入旧地址时,即使dig / nslookup看到dns cname,我也会重定向到diff.domain.com。 当我禁用那个vhost时,下一个diff2.domain.com被重定向
<VirtualHost ip:80>
ServerName diff.domain.com
Redirect permanent / https://diff.domain.com/
</VirtualHost>
<IFModule mod_ssl.c>
<VirtualHost ip:443>
ServerAdmin webmaster@domain.com
ServerName diff.domain.com:443
DocumentRoot /var/www/diff/web
<Directory "/var/www/diff/web">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog /var/www/diff/logs/error.log
CustomLog /var/www/diff/logs/access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/diff/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/diff/privkey.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
<IfModule mod_fastcgi.c>
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi_diff
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi_diff -socket /var/run/php5-fpm_diff.sock -pass-header Authorization
</IfModule>
</VirtualHost>
</IFModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
我使用此conf作为其他vhost的示例,但看起来这里有错误/错误
答案 0 :(得分:1)
Apache 2.4按顺序读取站点配置。 看起来在任何ServerName或ServerAlias中都没有使用url命中,因此apache加载第一个readed站点配置,即diff.domain。
我最终添加了表示我想要的网址的ServerName,并将其重定向到我想要的网站。
这样可以确定页面的位置。
CNAME指向IP,在这种情况下它与A记录没什么不同。
现在我知道了更多。希望这将有助于将来的某些人; - )