Apache2 不断重定向

Apache2 不断重定向

我尝试让用户停留在 URL www.mydomain.de 上,但是 Apache 使用 301 永久重定向到 mydomain.de。我该如何防止这种情况发生?

vhost 的 httpd.include

<VirtualHost xx.xx.xx.xx:80>
    ServerName   mydomain.de:80
    ServerAlias   www.mydomain.de
    UseCanonicalName off
    SuexecUserGroup         mydomain psacln
    ServerAdmin  "[email protected]"
    DocumentRoot /var/www/vhosts/mydomain.de/httpdocs
</VirtualHost>

DNS 设置

    ; *** This file is automatically generated by Plesk ***
    $TTL    86400

    @       IN      SOA     ns.mydomain.de. info.mydomain.de. (
                            1246541440      ; Serial
                            10800   ; Refresh
                            3600    ; Retry
                            604800  ; Expire
                            360 )   ; Minimum

    mydomain.de.           IN NS   ns.mydomain.de.
    mydomain.de.              IN NS   ns2.hans.hosteurope.de.
    ns.mydomain.de.                IN A    92.51.134.24
    mydomain.de.           IN A    92.51.134.24
    webmail.mydomain.de.           IN A    92.51.134.24
    mail.mydomain.de.              IN A    92.51.134.24
    science.mydomain.de.           IN A    92.51.134.24
    test.mydomain.de.              IN A    92.51.134.24
    testing.mydomain.de.           IN A    92.51.134.24
    ftp.mydomain.de.               IN CNAME        mydomain.de.
    www.mydomain.de.               IN CNAME        mydomain.de.
    *.webmail.mydomain.de.                 IN CNAME        mydomain.de.
    mydomain.de.           IN MX  10 mail.mydomain.de.
    mydomain.de.           IN TXT  "v=spf1 +a +mx -all"

有什么想法,为什么会发生这种情况?谢谢!

编辑:感谢 Chaos 提供的意见(尚无法对您的答案进行投票),但不幸的是,它仍然不起作用。

Fiddler2 输出

GET / HTTP/1.1
Accept: */*
Accept-Language: de
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 4.0.20506; InfoPath.2; .NET CLR 3.0.30729)
Host: www.mydomain.de
Proxy-Connection: Keep-Alive


HTTP/1.0 301 Moved Permanently
Date: Thu, 02 Jul 2009 18:38:34 GMT
Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.5.1 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.5.2 PHP/5.2.10 mod_perl/2.0.3 Perl/v5.8.8
X-Powered-By: PHP/5.2.10
X-Pingback: http://mydomain.de/xmlrpc.php
Location: http://mydomain.de/
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from dezntpx01.computacenter.de
X-Cache-Lookup: MISS from dezntpx01.computacenter.de:8081
X-Cache: MISS from dezntpx03.computacenter.de
X-Cache-Lookup: MISS from dezntpx03.computacenter.de:8081
Via: 1.0 dezntpx01.computacenter.de:8081 (squid/2.7.STABLE5), 1.0 dezntpx03.computacenter.de:8081 (squid/2.7.STABLE5)
Connection: keep-alive
Proxy-Connection: keep-alive

答案1

嗯,首先是这样的:

ServerName   mydomain.de:80
ServerAlias   www.mydomain.de

需要是这样的:

ServerName    www.mydomain.de
ServerAlias   mydomain.de

UseCanonicalName可能也应该打开。如果你想让他们继续使用一个版本的网站,那么这对你有好处,而不是坏处。

编辑:好的,问题是您的 Apache 服务器甚至无法控制您看到的行为;您正在与之交谈的代理可以控制。它决定抛出 301 重定向的原因尚不清楚,但可能是因为它www.mydomain.de是一条CNAME记录。我会尝试将其设为一条A记录。

代理可能还需要花费任意时间才能注意到您正在执行的操作并调整其行为。据我所知,它也可能实际配置了规则,告诉它www从您的域中删除。

相关内容