nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名)

转载 2018年04月16日 14:22:29

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

本人网站测试地址:uuid.online(因CSDN原因,链接地址只能填www.uuid.online,测试时先跳转到这个地址,再删除www测试)

直接上本人的配置文件。

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

server {
    listen       80;
    server_name  www.uuid.online;
    ...
}
2.目前网络上搜索出来的方法如下
a.
server {
    listen       80;
    server_name  www.uuid.online  uuid.online;
    if ($http_host =uuid.online) {
        rewrite  (.*)  http://www.uuid.online$1;
    }
    ...
}
不推荐用这种方法,不是我不推荐,是nginx官方不推荐啊!!!原话如下:This is a wrong, cumbersome, and ineffective way.翻译过来就是:这是一种错误的,难处理的,无效的方法。
官方原文链接地址:http://nginx.org/en/docs/http/converting_rewrite_rules.html
b.该方法未测试,不评价。

如下:在ngxin域名的配置文件vhost/www.abc.com.conf(具体视你域名配置文件) 编辑如下:

.....

......

server
 {

    ........

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

    ......

 }

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

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

 

另外补充说明一点:

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

创建Windows NT/2000的安装/启动/紧急修复盘

一、创建Winnt的安装软盘。    1、准备 3 张空白3.5英寸1.44 MB 软盘(所有软盘要写好标签,以下软盘均为3.5英寸1.44 MB)。    2、将软盘插入软驱。     3、将Win...
  • zhangjian80
  • zhangjian80
  • 2001-07-09 11:52:00
  • 1339

nginx 不带www的域名重定向到带www的域名

server { server_name www.csdn.com csdn.com ; if  ( $host != 'www.csdn.com'  )  {     rewrite ^/(....
  • tang05709
  • tang05709
  • 2016-12-28 10:11:26
  • 2750

nginx 不带www到www域名的重定向

nginx 不带www到www域名的重定向 这里,如果是单次重定向用 redirect, 如果永久跳转用 permanent,这里用 permanent  {                ...
  • saindy5828
  • saindy5828
  • 2015-09-01 10:59:57
  • 3226

阿里云centOS 将不带3www的域名301重定向到带www域名

1.配置阿里云解析设置; 听说这样就可以生效,谁说的麻蛋; 2.我是能够www访问下,再加的不要www访问,添加了几行过滤条件 DocumentRoot "/var/www/html/app/s...
  • u010235716
  • u010235716
  • 2016-01-12 12:15:49
  • 1632

利用.htaccess文件实现不带www域名301跳转到带www域名

利用.htaccess文件实现不带www域名301跳转到带www域名上线后收录的都是不带www的,所以需要做301跳转,具体设置如下,利用.htaccess文件来实现:RewriteEngine on...
  • linyiphp
  • linyiphp
  • 2018-01-10 10:46:05
  • 178

Nginx 301 重定向实现不带www跳转到www

Nginx 301 重定向实现不带www跳转到www由于有个域名的邮箱解析和CNAME解析不兼容,导致xxxx.cn不能访问,必须要带www,解决方法是将*.xxxx.cn的A记录解析到nginx的I...
  • way102
  • way102
  • 2017-07-27 15:06:06
  • 547

全站301重定性 避免带与不带www域名权重分散的几种方法

避忌权重分散,力求权重集中是网站SEO优化的一个重要内容,今天要谈的是带www与不带www的域名权重问题,我们的目标是不管用什么方法,力求做到带www与不带www的域名权重集中到其中一个上来。    ...
  • nic7968
  • nic7968
  • 2015-06-06 23:36:15
  • 390

IIS7设置将域名不带www跳转到带www上

一、解析域名: 带wwwA记录 设置主机名www ip为服务器ip 不带www  设置主机名为空或@符号 地址为www.xx.com 二、IIS上安装url重写程序:...
  • qq1690194137
  • qq1690194137
  • 2018-01-01 15:19:06
  • 240

域名从www跳转到非www,Apache和Nginx2种解决方式

背景:www跳转到非www。http://www.jiutianniao.com和http://jiutianniao.com 都可以访问。但是,想把www这个重定向到非www,输入更简单,让搜索引擎...
  • FansUnion
  • FansUnion
  • 2015-04-30 17:44:37
  • 1963

LNMP Apache http跳转到https, 不带www跳转到www域名

之前文章写过Nginx下如何设置跳转到https和www域名, 本篇说一下Apache下如何设置. 确认是否开启rewrite重写模块 配置文件一般位于/usr/local/apache/conf/...
  • wmsoho
  • wmsoho
  • 2017-12-30 23:06:01
  • 246
收藏助手
不良信息举报
您举报文章:nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名)
举报原因:
原因补充:

(最多只允许输入30个字)