tofacebook.com -专业IT技术社区 找了很多,只有这个文章最全:nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名) - tofacebook.com-专业IT技术社区
227°

找了很多,只有这个文章最全:nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名)

1.先科普下域名解析哈: 微信截图_20200109173035.png

解析域名截图: 微信截图_20200109174206.png 就可在windows7系统 :cmd 命令 :ping tofacebook.com 微信截图_20200109173754.png

见图课件是 2.先说本人测试通过的方法,也是来自官方文档的方法。官方文档:http://nginx.org/en/docs/http/converting_rewrite_rules.html

本人网站测试地址:tofacebook.com (因cnblog原因,链接地址只能填www.tofacebook.com, 测试时先跳转到这个地址,再删除www测试) 直接上本人的服务器上NGINX安装OK的配置文件。

server {
    listen       80;
    server_name  tofacebook.com;
    return       301 http://www.tofacebook.com$request_uri;
}

server {
    listen       80;
    server_name  www.tofacebook.com;
    ......
}

然后再服务器上  NGINX -t
service nginx reload
重新启动NGINX服务,然后再没有记录的浏览器上输入:tofacebook.com  访问正常,问题解决。

3.目前网络上搜索出来的方法如下

server {
    listen       80;
    server_name  www.tofacebook.com  tofacebook.com;
    if ($http_host =uuid.online) {
        rewrite  (.*)  http://www.tofacebook.com$1;
    }
    ...
}
不推荐用这种方法,不是我不推荐,是nginx官方不推荐啊!!!
原话如下:This is a wrong, cumbersome, and ineffective way.
翻译过来就是:这是一种错误的,难处理的,无效的方法。

官方原文链接地址:http://nginx.org/en/docs/http/converting_rewrite_rules.html b.该方法未测试,不评价。 如下:在ngxin域名的配置文件vhost/www.tofacebook.com.conf(具体视你域名配置文件) 编辑如下:

.....

......

server
 {

    ........

    server_name www.abc.com ;//只留一个

    ......

 }

文件的底部添加如下代码块(独立于上面的代码外):

server {
  server_name  abc.com;
  rewrite ^(.*)$ http://www.tofacebook.com$1 permanent;
}

另外补充说明一点:下面的比较重要,请看完,谢谢。

301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,
服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。
302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。
二者的区别主要是,一句话,302容易被搜索引擎视为spam,301则不会。
permanent代表301永久跳转,改为redirect则为302临时跳转。

已有 0 条评论

    我有话说: