我一直在努力转发来自" http://example.com/ ..."," http://www.example.com/ ......"和" https://example.com/ ..." to " https://www.example.com/ ..."在我的nginx服务器上。
我使用默认网站网址" https://www.example.com/"运行WordPress软件并使用永久链接。
我当前的nginx配置文件如下所示:http://pastebin.com/MxHUNtCc
尝试将这些转发规则实施到nginx中,但我不知道如何支持WordPress永久网址。
感谢阅读。
克里斯
答案 0 :(得分:1)
此外,您可以使用server_name
指令和$host
来设置重定向到特定方案。如果您只想重定向WWW子域,请使用以下代码。
server {
listen 80;
server_name www.example.com;
return 301 https://www.example.com$request_uri;
}
我希望它适合你。
答案 1 :(得分:0)
您可以使用以下新服务器块...
来实现将http url永久重定向到httpsserver {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
...并确保使用443端口和证书正确设置现有服务器块。
它应该可以正常工作,因为许多用户按照此处的建议使用WordPress:https://atulhost.com/secure-nginx-letsencrypt-ubuntu
答案 2 :(得分:0)
总共需要三个服务器块
以下示例是从您的pastebin
修改的#
# Server Block 1: Port 80 Redirection.
#
server {
listen 80;
server_name example.com www.example.com;
# Note that using "rewrite ^(.*)" is not optimal.
# See "pitfalls" link you already have at the top of your conf file.
return 301 https://$host$request_uri;
}
#
# Server Block 2: Port 443 Redirection from https://example.com.
#
server {
listen 443 ssl spdy;
listen [::]:443 ssl spdy;
server_name example.com;
ssl on;
ssl_certificate /etc/nginx/SSL/public.pem;
ssl_certificate_key /etc/nginx/SSL/private.pem;
return 301 https://www.example.com$request_uri;
}
#
# Server Block 3: Port 443 Processing for https://www.example.com.
#
server {
listen 443 ssl spdy;
listen [::]:443 ssl spdy;
server_name www.example.com;
ssl on;
ssl_certificate /etc/nginx/SSL/public.pem;
ssl_certificate_key /etc/nginx/SSL/private.pem;
# Rest of your conf file follows
HTTP Strict Transport Security
要求所必需的。QDateTime::currentDateTime()
的请求将命中服务器块3并在那里处理。