Nginx的 - 如何重定向(301)www到非www正确的bot http/https?
问题描述:
使用以下Nginx配置文件,我目前可以将所有HTTP www请求永久重定向到非万维网HTTPS。 http://www.example.com =>https://example;comNginx的 - 如何重定向(301)www到非www正确的bot http/https?
所有HTTPS非www请求AR以及手.. https://example.com
但是,万维网HTTPS请求不会被重定向到非www HTTPS https://www.examples.com - >https://www.examples.com I'ld像有: https://www.examples.com - >https://examples.com
缺少什么在我的配置? 感谢反馈
default.conf
server {
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name example.com;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
root /var/www/html;
index index.html index.htm;
location/{
try_files $uri $uri/ =404;
}
}
答
没有在你的配置手柄重定向到https://www.example.com
https://example.com
(但你知道)。
假设您的证书的有效期为www.example.com
,您可以为端口443创建一个单独的server
块并将其标记为default_server
(例如您已经拥有的端口80)。
其实你可以一切不是https://www.example.com
合并成一个单一server
块:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
...
}
非常感谢!是的,我的证书是有效的机器人www和没有www .. 我想过,但完全忘了把片段放在两个块... – erwin