nginx 301设置,域名301重定向设置

nginx要实现301也需要rewrite模块来支持了这个与apache的rewrite有点像了,后面我会给各位同学具体介绍此参考。

nginx下设置301重定向,如:将二级域名www.111cn.net设置301重定向到主域名111cn.net

 代码如下 复制代码
 
server
        {
                listen       80;
                server_name 111cn.net www.111cn.net;
                index index.html index.htm index.php;
if ($host != '111cn.net' ) {
        rewrite ^/(.*)$ http://111cn.net /$1 permanent;
}
 
}

 
在server中添加绿色加粗代码部分即可。使用站长工具页面HTTP状态查询

rewrite命令

nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下:
rewrite 正则表达式 替换目标 flag标记
flag标记可以用以下几种格式:
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
例如下面这段设定nginx将某个目录下面的文件重定向到另一个目录,$2对应第二个括号(.*)中对应的字符串:
location /download/ {
rewrite ^(/download/.*)/m/(.*)..*$ $1/nginx-rewrite/$2.gz break;
}

nginx重定向的IF条件判断

在server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种:
正则表达式

如:

匹配判断
~  为区分大小写匹配; !~为区分大小写不匹配
 ~* 为不区分大小写匹配;!~为不区分大小写不匹配
例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:

 代码如下 复制代码

if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /nginx-ie/$1 break;
}

文件和目录判断
  -f和!-f判断是否存在文件
 -d和!-d判断是否存在目录
 -e和!-e判断是否存在文件或目录
 -x和!-x判断文件是否可执行
例如下面设定nginx在文件和目录不存在的时候重定向:

 代码如下 复制代码
if (!-e $request_filename) {
proxy_pass http://127.0.0.1/;
}

return
返回http代码,例如设置nginx防盗链:

 代码如下 复制代码
location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked http://www.111cn.net/ http://www.111cn.net/;
if ($invalid_referer) {
return 404;
}
}
时间: 2024-09-13 22:01:48

nginx 301设置,域名301重定向设置的相关文章

LNMP下Nginx设置域名301重定向

LNMP下的Nginx如果想将域名111cn.net 301重定向到www.111cn.net,同时www.111cn.net已经通过lnmp vhost add添加上, 可以按如下步骤修改. 编辑对应的虚拟主机配置文件,一般虚拟主机配置文件位于:/usr/local/nginx/conf/vhost/域名.conf ,如添加的域名是www.111cn.net 则配置文件是/usr/local/nginx/conf/vhost/www.111cn.net.conf 在配置文件最后面加上如下代码:

LNMP下Nginx设置域名301重定向配置

LNMP下的Nginx如果想将域名111cn.net 301重定向到www.111cn.net,同时www.111cn.net已经通过lnmp vhost add添加上, 可以按如下步骤修改. 编辑对应的虚拟主机配置文件,一般虚拟主机配置文件位于:/usr/local/nginx/conf/vhost/域名.conf ,如添加的域名是www.111cn.net 则配置文件是/usr/local/nginx/conf/vhost/www.111cn.net.conf 在配置文件最后面加上如下代码:

apache/nginx环境下域名301重定向方法总结

之前张小三资源网也总结过域名301重定向的教程,但是较乱,这次重新编排一下,力求简单高效的在nginx和apache环境下把不带WWW的域名301到带WWW域名上的重定向. nginx域名301重定向有三种方法: 原生法 nginx高版本支持: server {   server_name 111cn.net;   return 301 http://www.111cn.net$request_uri; } 重写法 nginx通用支持: server {     server_name 111c

Nginx上配置域名永久重定向

当我们的站点更换域名的时候,需要将所有针对旧域名的请求全部重定向到新域名上.步骤如下: 1.假定我们的旧域名为111cn.net,新域名为www.111cn.net. 2.在Nginx上,为新域名配置一个server.  代码如下 复制代码 server {     listen       80;     server_name  www.111cn.net;     # 其它省略 } 3.在Nginx上,为旧域名配置一个server.  代码如下 复制代码 server {     list

ngin配置301重定向设置方法和nginx子目录301重定向_nginx

nginx版本为1.1.19. 若域名由a.com转移到了b.com,并对两个域名有所有权,可以: 复制代码 代码如下: server{     server_name a.com;    return 301 $scheme://b.com$request_uri;} 重启服务器,然后看一下成功与否: 复制代码 代码如下: curl -I a.com nginx子目录301重定向设置方法 如我想把www.b.com/bfiles/download/转向到dx1.b.com:81/bfiles/

windows IIS6服务器全站301永久重定向设置方法_win服务器

如图所示: 具体操作方法: 进入绑定域名站点的IIS设置,选择站点属性--主目录--重定向到URL写入要跳转到的域名,后台加上$S$Q,如 复制代码 代码如下: http://www.jb51.net$S$Q 然后必须勾选"上面输入的准确URL"和"资源的永久重定向"两项,否则URL会出现问题.设置好后,访问http://tool.chinaz.com/pagestatus/看下返回状态是否是301,是则设置成功. 如此设置,就可以实现windows服务器全站301

301重定向设置的方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 很多人在做网站的时候,都会为自己的某个网站注册多个域名.譬如,我就为我的链接帮手网注册了www.linkhelper.cn和www.adminlj.com 2个域名.可能很多人都习惯将自己的很多域名都一股脑的全部绑定在一个站点上.其实,这样做对网站是很不利的,因为搜索引擎会搞不清楚,哪个域名是你要宣传的一个域名.导致搜索引擎会K掉其中的一个域

IIS服务器下做301永久重定向设置方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 以前也没怎么关注301重定向,第一因为没有网站要重定向,第二对于不带www的域名我都是用的转发到带www的域名.不过一场风波之后,很多服务商已经不提供转发服务了,虽说易名现在还可以享用到免费的转发服务,但是却不能不带www的转发到带www的同时进行MX记录解析,这对于需要MX解析的朋友也是一大烦恼. 而且有些域名在国外,转发更是用不了,也只能

IIS服务器下做301永久重定向设置方法[可以传参][图文]_win服务器

不过一场风波之后,很多服务商已经不提供转发服务了,虽说易名现在还可以享用到免费的转发服务,但是却不能不带www的转发到带www的同时进行MX记录解析,这对于需要MX解析的朋友也是一大烦恼. 而且有些域名在国外,转发更是用不了,也只能进行301永久重定向了,不然搜索引擎是把不带www的站和带www的站分开对待的,只是我们习惯于用带www的域名罢了. 在网络上看了些教程,再根据自己的实践,也终于搞定了IIS服务器上的301永久重定向设置问题.实现方法如下: 1.新建一个站点,对应目录如E:\wwwr

IIS服务器301永久重定向设置指南

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   网址重定向最为可行的一种办法.当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址. 301永久重定向是所有的重定向方法中唯一符合搜索引擎规则的重定向方法,其他的重定向还包括302暂时重定向和JS跳转等,这些方式都容易导致URL不规范问题的产生.所以说如果你有多个域名都希