Nginx 下配置 301/302 重定向
重定向不仅能使页面实现自动跳转,对于搜索引擎来说,也可能可以传递PR值。
通常我们需要将多个域名进行合并,比如说顶级域名 whai.me
重定向到 www.whai.me
。
前提:请将根域名和子域名都解析到服务器地址
查找 Nginx 的配置文件
Nginx 会测试配置文件得语法,并告诉我们配置文件是否写得正确,同时也告诉我们配置文件的路径。1
# nginx -t
输出信息:1
2nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
配置 301 重定向
注意:rewrite
的域名请加上 http://
或者 https://
前缀。
方法1:修改 server 配置
在域名 www.whai.me
的 server
节点中增加 whai.me
域名的配置,并加入 if
判断的代码:1
2
3
4
5
6server {
server_name www.whai.me whai.me;
if ( $host != "www.whai.me" ) {
rewrite ^/(.*)$ https://www.whai.me/$1 permanent;
}
}
方法2:添加新的 server 配置
为根域名添加独立的 server
配置。1
2
3
4server {
server_name whai.me;
rewrite ^(.*) https://www.whai.me$1 permanent;
}
临时重定向
上面的配置中,参数 permanent
表示永久重定向, 修改为 redirect
表示临时重定向。
重新加载 Nginx
修改完配置文件后,重新加载 Nginx。1
# nginx -s reload
验证
1 | # curl -i whai.me |
输出信息:1
2
3
4
5
6
7HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3 (Ubuntu)
Date: Sun, 28 Jan 2018 05:09:37 GMT
Content-Type: text/html
Content-Length: 194
Connection: keep-alive
Location: https://www.whai.me/
可以看到,我们的配置已经生效了,返回了 301 代码,Location
指向了我们要跳转到的 https://www.whai.me/
地址。
本文作者 : 王海
原文链接 : https://blog.whai.me/2018/01/28/nginx-301-302/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!