多种nginx 301跳转到带www域名的方法

AndyYang| 阅读:1437 发表时间:2018-03-18 12:37:13 nginx
摘要:将不带www的域名重定向到带www的域名,有多种实现方式,本文介绍几种写法,作为参考。

将不带www的域名重定向到带www的域名,有多种实现方式,本文介绍几种写法,作为参考。

首先得在你的域名管理里面做好解析,比如说我的 webyang.net和www.webyang.net 都指向我的主机ip

方法1:打开nginx.conf文件找到你的server配置段:
server
{
    listen 80;
    server_name www.webyang.net webyang.net;
    if ($host != 'www.webyang.net' ) { rewrite ^/(.*)$ http://www.webyang.net/$1 permanent ; }
}

如果只是webyang.net跳转:
if ($host = 'webyang.net' ) { rewrite ^/(.*)$ http://www.webyang.net/$1 permanent ; }

这样用户直接访问webyang.net直接跳转的www.webyang.net。即让不带www的域名跳转到带www的域名。注意空格,否则会报错。

方法2:在配置文件里面写两个server,第一个里面把不带www的域名去掉。
server
{
    listen 80;
    server_name www.webyang.net;
}

在配置文件的下面添加上,这样就可以了。
server {
    server_name webyang.net;
    rewrite ^(.*) http://www.webyang.net$1 permanent;
}

如果有多个不同的域名都绑定在同一个目录下,不带3W的301跳转带3W的方法和上面的一样,在vhost的完整配置里后面加上。

server {
    server_name a.webyang.net;
    rewrite ^(.*) http://www.webyang.net$1 permanent;
}

server {
    server_name b.wenyang.net;
    rewrite ^(.*) http://www.webyang.net$1 permanent;
}

301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。
302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。

permanent代表301永久跳转,改为redirect则为302临时跳转。

修改最好nginx -t测试下是否有错误,然后再重启nginx。

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有0条评论

昵称:
邮箱:

  • 最新评论

iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号