Nginx 下配置 301/302 重定向

发布 : 2018-01-28 分类 : Notes 浏览 :

重定向不仅能使页面实现自动跳转,对于搜索引擎来说,也可能可以传递PR值。
通常我们需要将多个域名进行合并,比如说顶级域名 whai.me 重定向到 www.whai.me
前提:请将根域名和子域名都解析到服务器地址

查找 Nginx 的配置文件

Nginx 会测试配置文件得语法,并告诉我们配置文件是否写得正确,同时也告诉我们配置文件的路径。

1
# nginx -t

输出信息:

1
2
nginx: 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.meserver 节点中增加 whai.me 域名的配置,并加入 if 判断的代码:

1
2
3
4
5
6
server {
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
4
server {
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
7
HTTP/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 许可协议。转载请注明出处!
留下足迹