Jak*_*mas 8 linux rewrite nginx redirect
我想将站点始终重定向到 www.site.com。但是,我不确定如何让 WWW 始终显示在前面应该说有人在没有 www 的域中键入。
编辑:
server {
listen 80;
server_name site.com;
rewrite ^(.*) https://www.site.com$1 permanent;
}
server {
listen 80;
server_name www.site.com;
#rewrite ^(.*) https://www.site.com$1 permanent;
root /home/site/public_html;
listen 443 ssl;
Run Code Online (Sandbox Code Playgroud)
如果我输入 site.com,它会变成https://www.site.com= SUCCESS
如果我输入 site.com/index.php,它会变成http://www.site.com= NO SSL
想法?
ans*_*men 23
最好使用return而不是rewrite,因为它更快。
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
[...]
}
Run Code Online (Sandbox Code Playgroud)
这样,我们还向客户端发送了正确的状态代码,以便他在下一个请求中询问正确的域。
你正在以艰难的方式做到这一点。这是简单的方法。
server {
listen 80;
server_name example.com;
rewrite ^(.*) http://www.example.com$1 permanent;
}
server {
listen 80;
server_name www.example.com;
#The rest of your configuration goes here#
}
Run Code Online (Sandbox Code Playgroud)