Обновление: 20 апреля 2013 г., решение по-прежнему не найдено, помогите
Глядя на мою конфигурацию nginx, единственное, что может быть виновником, это следующее:
server {
listen 80;
listen [::]:80 ipv6only=on default_server;
rewrite ^(.*) https://$host$1 permanent;
}
Буквально мне нужно, чтобы www было перенаправлено на основной домен.
Можно ли это сделать в nginx?
Я немного запутался в этом вопросе, и служба поддержки Godaddy каждый раз говорит мне что-то новое.
Я перенаправил свой домен www в основной домен, и он не работает.
www.domain --> domain.com Fails
Однако любой другой поддомен, такой как test, может быть без проблем перенаправлен в основной домен.
test.domain --> domain.com Ok
Godaddy утверждает:
или для этого вам нужно будет настроить www CNAME, который соответствует @. На вашем хосте вы можете настроить закодированное перенаправление https://domain.com в индексном файле или файле .htacess.
Я не понимаю, как этого добиться.
Сначала вы должны настроить свою зону DNS как таковую:
@ IN A <IP ADDRESS>
www IN A <IP ADDRESS>
Используя эту конфигурацию, что-нибудь вроде www.example.com
, и example.com
будет решено IP ADDRESS
который должен быть IP-адресом вашего веб-сервера.
Затем в конфигурации Nginx вы указываете это:
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
...
}
Кстати, вам не нужно регулярное выражение в этой задаче. Попробуйте, например, этот конфиг.
server {
listen *:80 default_server;
listen [::]:80 ipv6only=on default_server;
return 301 https://domain.com$request_uri;
}