Я пытаюсь сохранить пользователя на URL-адресе www.mydomain.de, но Apache использует перенаправление 301 Permament Redirect на mydomain.de. Как я могу предотвратить это?
httpd.include для виртуального хоста
<VirtualHost xx.xx.xx.xx:80>
ServerName mydomain.de:80
ServerAlias www.mydomain.de
UseCanonicalName off
SuexecUserGroup mydomain psacln
ServerAdmin "info@mydomain.de"
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
Ну, во-первых, это:
ServerName mydomain.de:80
ServerAlias www.mydomain.de
должно быть это:
ServerName www.mydomain.de
ServerAlias mydomain.de
UseCanonicalName
наверное, тоже должен быть включен. Если вы хотите сохранить их в одной версии сайта, это поможет вам, а не вредит.
редактировать: Хорошо, проблема в том, что ваш сервер Apache даже не контролирует поведение, которое вы видите; прокси, с которым вы разговариваете. Почему он решает выполнить редирект 301, не ясно, но, возможно, это связано с тем, что www.mydomain.de
это CNAME
запись. Я бы попробовал сделать это A
запись.
Прокси-серверу также может потребоваться некоторое время, чтобы заметить все, что вы делаете, и отрегулировать свое поведение. Насколько я знаю, на нем также могут быть настроенные правила, которые говорят ему убрать www
из вашего домена.