nginx 301和302rewrite 跳转是302 还是301

Linux(3)
& & & listen 80;
& & & server_
& & & & if ($host =
& & & & & & & & rewrite ^/(.*)$ /$1
& & & error_page & 502 503 504 &/50x.
& & & & location = /50x.html {
& & & & & & root &
& & & & location / {
& & & & & & & & proxy_set_header Host $
& & & & & & & & proxy_set_header X-Real-IP $remote_
& & & & & & & & proxy_set_header X-Forwarded-For $remote_
& & & & & & & & proxy_pass http://127.0.0.1:8080;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:22539次
排名:千里之外
原创:25篇
转载:12篇
(1)(2)(2)(1)(1)(1)(10)(3)(2)(2)(1)(11)shine_forever 的BLOG
用户名:shine_forever
文章数:55
评论数:22
访问量:194330
注册日期:
阅读量:5863
阅读量:12276
阅读量:333602
阅读量:1038980
51CTO推荐博文
需求:如果本地没有这个url就rewrite到另外服务器上去请求;实现:server&{&&&&listen&&&&&&&8080;&&&&if&(!-e&$request_filename&){&&&&rewrite&^/(.*)$&$1&&&&&}}说明:当本地web上没有这个资源的时候,就跳转到192.168.2.42服务器上去请求;nginx的rewrite指令中可以通过设置该条rewrite的flag来对该规则进行说明。一般可以设置的flag有:last,break,redirect,permanent四种。redirect说明,这条规则是一个临时的跳转,并且此时如果观察http请求的话,http的响应状态码为302.permanent说明,这条规则是一个永久性的跳转,并且此时,http的响应状态码为301.那么什么是永久性跳转,什么是临时跳转,这有什么作用呢?下面我们举例说明:如果有一个url,/a。如果配置成1rewrite&"/a"&""&则说明这个跳转是一个临时跳转,此时如果有网络爬虫爬这个链接时,是不会更新自己的url数据库的。但是如果配置成permanet,则爬虫会更新自己的url数据库,把/a更新为。这也就是临时跳转和永久跳转的区别。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)设置301后,老域名的文件网址不能跳转到新域名的文件网址下,还是老域名的1|Nginx版使用交流-UPUPW论坛
阅读:519回复:8
设置301后,老域名的文件网址不能跳转到新域名的文件网址下,还是老域名的
发布于: 12:53
博客换域名,为老域名做301跳转到新域名,详细设置如下:
#301重定向域名跳转示例 域名先绑定到主机然后修改对应域名去掉以下代码前边的#号即可生效
&if ($Host = 'vsgod.org'){
&& & & & & & & & rewrite ^/(.*)$
&& & & & & & & & }
&& & & & & & & &
&if ($Host = 'www.vsgod.org'){
&& & & & & & & & rewrite ^/(.*)$
&& & & & & & & & }
&if ($Host = 'tryit.me'){
&& & & & & & & & rewrite ^/(.*)$
&& & & & & & & & }
750)this.width=750;" style="max-width:750" title="点击查看原图"/>
如图所示,站点1和站点2是相同的设置,都是为老域名做301跳转到新域名的,站点1无论是输入网址或者是从搜索引擎中打开的网址都能正常跳转到新域名,下面是站点1的301跳转规则:
&if ($Host = &#'){
&& & & & & & & & rewrite ^/(.*)$
&& & & & & & & & }
&& & & & & & & &
&if ($Host = ''){
&& & & & & & & & rewrite ^/(.*)$
&& & & & & & & & }
&& & & & & & & &
&if ($Host = &#'){
&& & & & & & & & rewrite ^/(.*)$
&& & & & & & & & }
--------------------------
不知道为什么站点2不能把老域名下的所有网页都跳转到新域名下面,如a.com/a.html不能跳转到b.com/a.html,但站点1就可以。已经重启过Nginx很多次了,也重启过服务器了,还是老样子,有解决办法吗?
铜币4287枚
威望3433点
发布于: 17:47
配置都是正确的,两个网站程序一样吗?
发布于: 00:03
:配置都是正确的,两个网站程序一样吗? 不一样的,站点2是wordpress。
铜币4287枚
威望3433点
发布于: 00:10
wp本身绑定的域名是什么?仔细看下配置文件。
发布于: 02:09
:wp本身绑定的域名是什么?仔细看下配置文件。 750)this.width=750;" style="max-width:750" title="点击查看原图"/>
配置应该没问题的,上图是后台的设置。wp-config.php里没有网址设置的内容。
真是非常奇怪,输入域名vsgod.org\和tryit.me都能正常跳转到。
但同一个文章内容页却不跳转,并且老旧域名的网址可以共同存在。如:http://www.vsgod.org/index.php/archives/1943、http://www.tryit.me/index.php/archives/1943和http://vsgod.org/index.php/archives/1943,这三个网址打开的都是同一个内容的网页。
但会跳转到
铜币4287枚
威望3433点
发布于: 07:28
wp内部有个跳转机制,所以只有网站后台绑定的域名才能内容页正常跳转,非绑定的域名就只能主域名跳转,内容页无法跳转。你可以尝试下把后台那个站点地址(url)里的内容清除掉试试。
发布于: 14:19
:wp内部有个跳转机制,所以只有网站后台绑定的域名才能内容页正常跳转,非绑定的域名就只能主域名跳转,内容页无法跳转。你可以尝试下把后台那个站点地址(url)里的内容清除掉试试。 不能清除的
发布于: 00:00
:wp内部有个跳转机制,所以只有网站后台绑定的域名才能内容页正常跳转,非绑定的域名就只能主域名跳转,内容页无法跳转。你可以尝试下把后台那个站点地址(url)里的内容清除掉试试。 清除后会自动恢复的
铜币4287枚
威望3433点
发布于: 07:40
:清除后会自动恢复的 我分析的都在5楼了,你这有现成的环境,想到什么可以当时操作验证,自己再琢磨下吧。
您需要登录后才可以回帖,&或者&
All rights reserved.请输入验证码
请原谅我们现在暂时不能处理您的请求。要继续访问网页,请输入下面所示字符:storysky 的BLOG
用户名:storysky
文章数:81
评论数:398
访问量:1263740
注册日期:
阅读量:5863
阅读量:12276
阅读量:333602
阅读量:1038980
51CTO推荐博文
& 前几天搭了一个论坛服务器并放到了公司的局域网里面,论坛用的是9066端口并在路由器上面做了个端口转发,而且把这个域名也指向了公司的公网IP,因为想让用户在访问的时候不用输入端口号于是就想在公司的web服务器上面做个跳转,将访问的请求都转到他的服务器上面去。我第一个想法就是 用 nginx的rewrite,过程很简单 配置如下:
listen&&&& 80;
server_name& ;
rewrite& &^/(.*)$&& :9066/$1
&&&&&&&&& }
于是访问检查了一下,注册,登录发帖等等操作都正常,本以为这样就ok了,结果随后问题出现了,虽然能正常的跳转但是 用户浏览器的域名栏上的地址后面一直跟着 9066 这个端口号,这让领导很不满意,于是我找了下nginx的文档和在qq群问了下别的朋友,没有什么好办法。于是就改用了 proxy_pass,这个配置也很简单:
listen&&&&&& 80;
server_name& ;
&&&&&&& location /
&&&&&&&& {
&&&&&&& proxy_pass :9066/;
&&&&&&&&& }
然后再访问
后面的端口号就不在了,注册、登录、发帖都正常,可是不一会儿又出问题了,用户反映论坛无法注册,提示说&单一ip一天内只能注册5次&,这是怎么回事,通过检查日志后发现 所有公网发过来的请求竟然都是 网关的ip地址 ,这下我明白了简单的加了proxy以后如果不进一步设置的话 nginx是不会去判断真正的客户端ip的,而是直接把路由的地址作为请求ip,所以会出现上述情况,分析后查了下 nginx的wiki 于是就在上面又加了几条:
listen&&&&&& 80;
server_name& ;
&&&&&&& location /
&&&&&&&& {
&&&&&&& proxy_set_header Host $
&&&&&&& proxy_set_header X-Real-Ip $remote_
&&&&&&& proxy_set_header X-Forwarded-For $remote_
&&&&&&& proxy_pass :9066/;
&&&&&&&&& }
改完以后 reload 了一下nginx,发现日志里面的源ip已经是真实的客户端地址了,重新注册,登录,发帖,都正常,重复了多次后没有发现问题,客户那里也都正常了。
感谢为我提供热情帮助的三门板牙。
下面是从网上找的一篇文章,分析的很详细 /?p=730&cpage=1 ,同时也感谢这篇文章的作者 &蛋蛋面&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
08:27:10 12:17:56 18:02:38

我要回帖

更多关于 nginx rewrite 不跳转 的文章

 

随机推荐