Apache重定向页面到坏vhost

时间:2016-07-07 05:50:05

标签: apache redirect dns

在绑定中,我使用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的示例,但看起来这里有错误/错误

1 个答案:

答案 0 :(得分:1)

Apache 2.4按顺序读取站点配置。 看起来在任何ServerName或ServerAlias中都没有使用url命中,因此apache加载第一个readed站点配置,即diff.domain。

我最终添加了表示我想要的网址的ServerName,并将其重定向到我想要的网站。

这样可以确定页面的位置。

CNAME指向IP,在这种情况下它与A记录没什么不同。

现在我知道了更多。希望这将有助于将来的某些人; - )