`
zhengdl126
  • 浏览: 2509991 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

nginx 404会执行302跳转

 
阅读更多

这个问题是应用中比较常见的一个问题了。尤其是对于静态文件,

一般而言在nginx中会利用error_page指令对一些错误吗指定错误页。此时,如果请求命中了改规则,就会跳转的响应的页面。比如:

error_page 400 404 500 'http://xxx.error.html';

上述的命令会导致302或301跳转。

 

一般的网站为了节省流量或者提高响应时间都会对静态文件做缓存,如果服务器返回304状态吗则会请求本地缓存的静态文件。一般而言,静态文件都会有一个Expires首部,表明该文件的过期时间。过期之后,才从服务器请求新资源,否则请求的都是本地缓存。

 

如 果请求一个不存在的静态文件,比如/test.css,此时就会导致error_page指令的跳转。但是要注意的是请求静态文件的请求是完整的,因此, 其中必然包含Expires首部,这就导致,即使已经存在了test.css文件,由于Expires的关系,还是会度本地的缓存,但是本地缓存有没有该 文件,导致请求一致处于302状态。

 

修改的方案就是,采用命令的location对error_page错误页指定的网页进行rewrite:如下所示:

error_page   400 404 @fb;
 
        location @fb {
            rewrite ".*" http://xxx.error.html;
            break;
        }

rewrite为请求的内部跳转(Internal rewrite),并且@fb中并没有设置Expires首部,因此就去掉了原请求中的Expires首部,从而避免前面提到的问题。

分享到:
评论

相关推荐

    nginx重写rewrite基础及实例分享

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 ...redirect 返回302临时重定向 地址栏会显示跳转后的地址。 permanent 返回301永久重定向 地址栏会显示跳转后的地址。  

    nginx location中多个if里面proxy_pass的方法

    1、首先我们回顾一下nginx中location的相关知识 1)location的匹配指令: ~ #波浪线表示执行一个正则匹配,区分大小写 ~* #表示执行一个正则匹配,不区分大小写 ^~ #^~表示普通字符匹配,不是正则匹配。如果该...

    实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

    nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询。 在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志。不会有php...

    nginx rewrite 伪静态配置参数详细说明

    正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!...* redirect 返回302临时重定向 地址栏会显示跳转后的地址 * permanent 返回301永久重定向 地址栏会显示跳转后的地

    Nginx 502 Bad Gateway错误常见的4种原因和解决方法

    1.FastCGI worker进程数是否不够 ... 代码如下: ... 代码如下: ...接近配置文件中设置的数值,表明worker进程数设置太...2.FastCGI执行时间过长 根据实际情况调高以下参数值 代码如下: fastcgi_connect_timeout 300; fastcgi_

    nginx提示502 页面的解决方法

    如果部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间

    详解常用的nginx rewrite重写规则

    这个规则的目的是为了执行搜索,搜索URL中包含的关键字。 请求的URL //hqidi.com/search/some-search-keywords 重写后URL //hqidi.com/search.php?p=some-search-keywords 重写规则 rewrite ^/search/(.*)$ /...

    使用python实现i茅台自动预约

    这个应用程序可以帮助你进行茅台自动化配置。以下是一些使用说明: ...获得后端打包文件exe和前端打包文件dist就可以直接部署在服务器上面了,前端可以直接使用nginx部署,后端简单点就执行运行就可以了。

    nginx rewrite 伪静态配置参数和使用例子

    -x用来判断文件是否可执行 flag标记有: * last 相当于Apache里的[L]标记,表示完成rewrite * break 终止匹配, 不再匹配后面的规则 * redirect 返回302临时重定向 地址栏会显示跳转后的地址 * permanent 返回301永久...

    最新小程序免费版证件照制作源码

    4、支持小程序跳转 运行环境: Linux Nginx PHP >=5.6 MySQL >=5.6 安装步骤: 1.上传你的代码 2.项目目录设置755权限 3.设置代码执行目录为/web 4.在浏览器中输入你的域名,会提示安装 5.安装完成后输入域名,在...

    阿狸子PHP5.2商城订单系统

    4、最佳服务器运行环境为Linux+Apache/Nginx,Windows+IIS次之 5、后台操作推荐使用谷歌浏览器,IE6兼容性不佳,最低版本要求IE7 安装说明 1、解压阿狸子源码并上传到网站目录 2、浏览器打开,若您是第一次使用阿...

    阿狸子订单系统源码PC模块+WAP手机版模块+文章模块+用户分销模块.zip

    4、最佳服务器运行环境为Linux+Apache/Nginx,Windows+IIS次之 5、后台操作推荐使用谷歌浏览器,IE7及以下兼容性不佳 安装说明: 1、解压阿狸子源码并上传到网站目录 2、浏览器打开,若您是第一次使用阿狸子,则将...

    云优CMS企业网站管理系统 v2.0.2 分站版.zip

    长期以来不断的完善、创新,云优CMS会为您带来全新的体验!云优CMS是远航CMS的升级版,底层重构,支持模型字段自定义,支持分站二级域名模式成为新版两大特色。 云优CMS企业网站管理系统 v2.0.2 分站版 更新日志 ...

    qiankun-micro-app:qiankun 微前端应用实践与部署

    微前端应用分为主应用与子应用,部署方式是分别编译好主应用与子应用,将主应用与子应用部署到 nginx 配置好的目录即可。 代码仓库 分别进入 portal、app1、app2 根目录,执行: 开发模式 # portal yarn yarn start ...

    婚恋交友系统OElove v5.0

    本次升级会针对会员中心的局部体验、诚信认证系统支付流程做进一步的优化与调整。 升级说明: 1、升级前,请确认您当前使用的版本为V3.9.R60622 2、请先备份tpl/templets/default模板文件; 3、浏览器打开链接:您...

    一个适合新手学习的电商项目

    如果集群中节点很多,会形成网络风暴。推荐节点数量不要超过5个。 2、分布式架构。拆分成多个子系统。(本项目使用) ### shop-order(订单系统) * 当用户提交订单时此时必须要求用户登录,可以使用拦截器来...

    O2O掌上城市(ShopNC本地生活).rar

    如果是第一次安装,系统会自动跳转到安装界面,您只需要按要求填写好相关的信息就可以顺利完成安装,完成安装后即可使用。 后台管理路径:http://你的域名/程序目录/admin/ 重新安装方法:如果您已经安装,想重新...

    国际网址导航系统-PHP

    字段判断等 总之就是强大 希望大家用的开心采用全新一键升级 一键执行sql 告别手动覆盖 手动执行sql的烦恼后台 全局变量生成数据后前后全任意调用附件格式后台自定义控制添加七牛云储存可配置后图片等上传到七牛 七...

    AKCMS轻量级CMS系统源码 v5.3.8

    2 增加了一项前台设置“限制网址唯一性”,如果此设置开启则同一篇内容的不同动态地址都跳转到设置的唯一地址 AKCMS是一款轻量级CMS,小巧高效,兼容性好,低CPU占用,低内存占用,对主机要求低;灵活自定义,适于...

Global site tag (gtag.js) - Google Analytics