当前位置:首页 > 域名知识 > 正文内容

nginx域名重定向 Nginx 配置旧域名重定向到新域名

8678008682年前 (2024-03-16)域名知识

本篇文章给大家谈谈nginx域名重定向,以及Nginx 配置旧域名重定向到新域名对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

nginx域名重定向 Nginx 配置旧域名重定向到新域名nginx为什么返回301重定向

在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。

linux中nginx 301重定向跳转方法总结,有需要的朋友可参考一下。

第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站

复制代码

代码如下:

server{

nginx域名重定向 Nginx 配置旧域名重定向到新域名

server_naaaaaaame

www.aaaaaaa.com;

rewrite ^(.*) http://www.bbbbbbbbbbb.com$1

permaaaaaaanent;

}

第二种情况:不是访问aaaaaaa站的全部重定向到指定页面

nginx域名重定向 Nginx 配置旧域名重定向到新域名

复制代码

代码如下:

server{

server_naaaaaaame

www.aaaaaaa.com;

if($host!=‘aaaaaaa.com)

{ rewrite ^/(.*)$

http://www.bbbbbbbbbbb.com/$1 permaaaaaaanent;}}

如果写在第一个server段

使用IP访问时也将被重定向

第三种带WWW或者不带WWW之间的跳转

复制代码

代码如下:

server

{

server_naaaaaaame c.net

rewrite ^/(.*)$ http://www.c.net/$1 permaaaaaaanent;

}

如何做nginx的重定向

方法/步骤:

由于网站的url由动态改为了伪静态,原先的动态网址依然能够访问,导致原先的url的权重无法转移,所以对原来的url做301重定向,并在百度站长中提交网站改版请求。

网上的教程都是直接根据文件重定向的,对于单一入口的程序不适用,所以写下次教程。

示例:

if($args~* mod=item&act=view&id=(\d+)){

rewrite ^/(.*)$ http://$host/item/$arg_id.html? permanent;

}

$args是当前url问号后面的部分,相当于$query_string

$arg_id是id的值,格式为$arg_

rewrite是url重写命令

permanent代表的是返回301永久重定向状态码

$host为当前网站的域名部分

结尾的问号代表不会将url后面的参数一起带过去

^和$是代表的是正则匹配

if条件中的(\d+)代表的是数字参数,如777

注意:nginx中if命令不能嵌套,不能有多条件

if条件中的等号只有一个

注意if的空格问题

if条件中可以有多条url重写语句

重定向是基于文件的,示例中是适用于index.php?mod=a&act=b的结构

如:rewrite文件A重定向到某地址

示例:

rewrite ^/good.php$ http://$host permanent;

rewriet ^/good1.php$ http://$host/ permanent;

如果需要对网站的域名进行重定向,可参考以下示例:

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

server{

......

server_name www.fsech.com fsech.com

......

if($host= fsech.com){

rewrite ^(.*)$ http://www.fsech.com permanent;

}

}

Nginx配置rewrite重定向跳转

1.功能:使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。

2.位置:rewrite只能放在server{},location{},if{}中。

3.作用域:只能对域名后边的除去传递的参数外的字符串起作用,例如 http://baidu.com/a/we/index.php?id=1&u=str,只对/a/we/index.php重写

4.如果相对域名或参数字符串起作用,可以使用全局变量匹配,也可以使用proxy_pass反向代理。

5.执行顺序是:

<1>执行server块的rewrite指令

<2.>执行location匹配

<3.>执行选定的location中的rewrite指令

如果其中某步URI被重写,则重新循环执行1-3,直到找到真实存在的文件;循环超过10次,则返回500 Internal Server Error错误。

6.语法rewrite regex replacement [flag];

7.flag标志位

last:相当于Apache的[L]标记,表示完成rewrite

break:停止执行当前虚拟主机的后续rewrite指令集

redirect:返回302临时重定向,地址栏会显示跳转后的地址

permanent:返回301永久重定向,地址栏会显示跳转后的地址

因为301和302不能简单的只返回状态码,还必须有重定向的URL,这就是return指令无法返回301,302的原因了。这里 last和 break区别有点难以理解

8.last一般写在server和if中,而break一般使用在location中,

last不终止重写后的url匹配,即新的url会再从server走一遍匹配流程,而break终止重写后的匹配,

break和last都能组织继续执行后面的rewrite指令

9常用正则

.:匹配除换行符以外的任意字符

?:重复0次或1次

10例子:

Nginx 配置旧域名重定向到新域名

Nginx里的 rewrite模块是专门负责静态重写的。

该模块允许使用正则表达式改变 URI,并且根据变量来重定向以及选择配置。

基本用法是: rewrite patten replace flag。 patten是正则表达式,与 patten匹配的 URL会被改写为 replace,而 flag是可选的,可以有如下标志:

例如,要将旧域名重定向到新域名上:

如果是跳转到新域名上时要保留路径,那么:

还有一种方式,如果域名不是 www.new.domain.com就统一转到 https://www.new.domain.com:

$host是 core模块内部的一个变量,当请求头里不存在 host属性或者是个空值,$host则等于 server_name。如果请求头里有 host属性,那么$host等于 host属性除了端口号的部分,例如 host属性是 www.example.com,那么$host就是 www.example.com。

也可以单独增加一个 server,在里面统一设置, permanent是 301重定向:

rewrite与 location配合实现图片文件跳转到 CDN:

访问后台出现重定向次数过多该怎么办?-建站需知

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

扫描二维码推送至手机访问。

版权声明:本文由爱名网发布,如需转载请注明出处。

本文链接:https://www.aiming.cc/index.php/post/825.html

分享给朋友:

“nginx域名重定向 Nginx 配置旧域名重定向到新域名” 的相关文章

网络域名注册(注册域名在哪里注册)

网络域名注册(注册域名在哪里注册)

今天给各位分享网络域名注册的知识,其中也会对注册域名在哪里注册进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!申请域名该去哪寻找域名注册网站,谷谷互联,由于.com、.cn域名等不同后缀均属于不同注册管理机构所管理,如要注册不同后缀域名则需要从注册管理机构寻找经过其授...

美国网站域名?美国的网站后缀名是什么

美国网站域名?美国的网站后缀名是什么

这篇文章给大家聊聊关于美国网站域名,以及美国的网站后缀名是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。美国的网络域名是什么.US 美国域名的,是United States的缩写。 由于特殊的历史原因,美国一直是唯一不用在网址后面加后缀的国家。美国公司习惯于用....

国内网站域名(中国的网络域名有哪些)

国内网站域名(中国的网络域名有哪些)

你是否想了解更多关于国内网站域名和中国的网络域名有哪些的知识?在本文中,小编将为您详细介绍这两个话题,帮助您更好地理解。中国的网络域名有哪些中国的网络域名包括以下几种: .cn:是中国国家顶级域名,由中国互联网络信息中心(CNNIC)管理,是中国境内最常用的域名后缀之一。...

二级域名查询(如何查询一个网站下的所有的二级域名)

二级域名查询(如何查询一个网站下的所有的二级域名)

各位老铁们好,相信很多人对二级域名查询都不是特别的了解,因此呢,今天就来为大家分享下关于二级域名查询以及如何查询一个网站下的所有的二级域名的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!怎么查网站的二级域名怎么查网站的二级域名信息如何查询一个网站下的所有二级域名?你也可...

泛域名绑定,什么是域名泛绑定

泛域名绑定,什么是域名泛绑定

大家好,今天给各位分享泛域名绑定的一些知识,其中也会对什么是域名泛绑定进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!destoon公司网站一级域名如何绑定destoon公司网站一级域名绑定的具体步骤如下: 1、以域名为abc.com为...

查域名,网站域名怎么查

查域名,网站域名怎么查

大家好,今天来为大家解答查域名这个问题的一些问题点,包括网站域名怎么查也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~ 域名如何查询域名查询如何检查您的域名在控制面板中,单击“网络和Internet”,然后单击“查...