阅读并实施了所有内容,但无法将我的域名www重定向到非www。
如果我在没有www的情况下浏览,我的网站就可以正常打开。
我的配置如下:
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;
}
答案 0 :(得分:1)
尝试添加此服务器块:
b
重新启动Nginx:
server {
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
请注意,如果您使用的是sudo systemctl restart nginx
,则应将listen指令设置为端口HTTPS
而不是443
使用此80
命令来确保curl
域重定向到non-www
域(将突出显示的部分替换为您的实际域):
www
您应该获得curl -I http://example.com
永久移动的响应,其中显示了301
重定向位置,如下所示:
样本输出:
www
答案 1 :(得分:0)
修改第一个区块
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
然后
sudo service nginx restart