更新:2013年4月20日,仍然没有解决scheme,请帮助
看看我的nginxconfiguration,唯一可能的罪魁祸首是这样的:
server { listen 80; listen [::]:80 ipv6only=on default_server; rewrite ^(.*) https://$host$1 permanent; }
从字面上看,我需要“www”redirect到主域。
这可以在nginx中完成吗?
我对这个问题有点困惑,Godaddy的支持告诉我每次都会有所不同。
我已经将我的www域转发到主域,它不起作用。
www.domain --> domain.com Fails
但是,其他任何子域如testing,可以毫无困难地转发到主域。
test.domain --> domain.com Ok
Godaddy声称:
或者您需要设置映射到@的www CNAME。 在您的主机上,您可以在索引文件或.htacess文件中设置一个编码redirecthttps://domain.com 。
我不明白如何做到这一点。
你应该首先configuration你的DNS区域:
@ IN A <IP ADDRESS> www IN A <IP ADDRESS>
使用这个configuration, www.example.com
和example.com
等任何东西都将被parsing为IP ADDRESS
,这应该是您的Web服务器的IP地址。
然后,在你的Nginxconfiguration中,你把这个:
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; ... }
顺便说一下,在这个任务中你不需要正则expression式。 例如,试试这个configuration。
server { listen *:80 default_server; listen [::]:80 ipv6only=on default_server; return 301 https://domain.com$request_uri; }