阅读并实现所有内容,但无法将我的域重定向到非www。
如果我不浏览www,我的网站就会开得很好。
我的Config如下所示:
nginx version: nginx/1.10.3 (Ubuntu)
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial当前的服务器块配置如下所示:
server {
listen 80;
server_name www.example.com;
#return 301 $scheme://example.com$request_uri;
#return 301 http://example.com$request_uri;
rewrite ^(.*) http://example.com$1 permanent;
}
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/html/;
index index.php index.html;
}发布于 2018-09-21 21:11:51
尝试添加以下服务器块:
server {
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}重新启动Nginx:
sudo systemctl restart nginx注意,如果您使用的是HTTPS,则应该将listen指令设置为端口443而不是80。
使用此curl命令确保non-www域重定向到www域(用实际域替换突出显示的部分):
curl -I http://example.com您应该得到一个301永久移动响应,该响应显示www重定向位置,如下所示:
样本输出:
HTTP/1.1 301 Moved Permanently
Server: nginx/1.4.6 (Ubuntu)
Date: Mon, 04 May 2015 18:20:19 GMT
Content-Type: text/html
Content-Length: 193
Connection: keep-alive
Location: http://www.example.com/发布于 2018-09-21 22:04:04
修改第一个块
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}然后是sudo service nginx restart
https://stackoverflow.com/questions/52451058
复制相似问题