Redirect nginx在维护协议时将非www重定向到www

Redirect nginx在维护协议时将非www重定向到www,redirect,nginx,Redirect,Nginx,我正在尝试将非www重定向到www,但请确保保留请求的协议,以便80将转到http://www.和443将转到https://www. 我已经走了这么远 server { listen 80; listen 443; server_name domain.com; # add ssl settings return 301 $scheme://www.domain.com$request_uri; } 单独的http和https服务器配置 将return301…更改为rewrite^(.*)h

我正在尝试将非www重定向到www,但请确保保留请求的协议,以便80将转到
http://www.
和443将转到
https://www.

我已经走了这么远

server {
listen 80;
listen 443;
server_name domain.com;
# add ssl settings
return 301 $scheme://www.domain.com$request_uri;
}
  • 单独的http和https服务器配置
  • return301…
    更改为
    rewrite^(.*)http://www.domain.com/1美元永久性(http或https)
  • 改变
    听443
    侦听443 ssl

  • 这很好,但是当我访问domain.com时,它会在末尾添加//所以:
    http://www.domain.com//
    https工作正常,奇怪!