在系统做一些大的、比较耗时的发布的时候,往往需要停服很长时间,这期间有用户访问的话,就需要展示一个升级说明的页面,这个页面放在反向代理服务器中;反向代理服务器如httpd有请求URL重写模块,通过它可以实现这种需求。

  How?

  1.引入rewrite模块

  在httpd.conf中添加

  

  2.配置重写规则

  在httpd.conf中添加

  

  3.注意永久重定向301和临时重定向302

  配置后,非index.html的请求会被重定向到index.html,状态码是302(临时重定向);如果配置永久重定向[R=permanent,L],则状态码会是301,这会导致在发布完成并关闭了重定向后,如果不清理浏览器缓存,将会一直重定向到index.html,因为状态码是301,浏览器会直接使用本地缓存而不再请求远程服务器。

  4.301和302测试

  下面来测试一下,添加了2个html页面

  

  1) 配置为临时重定向,非index.html请求都重定向到index.html

  

   2)重启httpd并访问test.html

  

  可以看到以及被重定向到index.html了,状态码是302

  

  3)关闭重定向配置,然后重启服务器并再次访问test.html

  

  不再被重定向

  

  4)配置为永久重定向

  

  5)重启并访问,状态码是301

  

  6)关闭重定向配置,重启服务器,访问test.html

  可以看到还是使用的浏览器缓存

  

  在手动清理了浏览器缓存后才能不被重定向

  

  

httpd配置Rewrite 301 302的更多相关文章

  1. nginx 301 302跳转配置总结

    首先看简单的代码示例,关于nginx 301 302跳转的. 301跳转设置: server { listen 80; server_name 123.com; rewrite ^/(.*) http ...

  2. centos7 httpd配置

    centos7 httpd配置 标签(空格分隔): 未分类 隐藏server信息 修改httpd.conf 设置,添加如下两行 ServerSignature Off ServerTokens Pro ...

  3. nginx配置-Rewrite

    rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向.rewrite只能放在server{},location{},if{}中,并且只能 ...

  4. http status 301/302 & java重定向/转发

    一.301/3021.什么是301转向?什么是301重定向? 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header) ...

  5. HTTP 的重定向301,302,303,307(转)

    HTTP 的重定向301,302,303,307(转) (2012-12-11 11:55:04) 转载▼ 标签: 杂谈 分类: 网络 301 永久重定向,告诉客户端以后应从新地址访问.302 作为H ...

  6. nginx 配置rewrite 笔记

    nginx 配置rewrite笔记: 通过下面的示例来说明一下,1. 先说说location : location 表示匹配传入的url地址,其中配置符有多种,各种情况的意义不一样: location ...

  7. HTTP状态码及其含义 503 500 401 200 301 302

    下表显示了常见的HTTP 1.1状态代码以及它们对应的状态信息和含义. 应当谨慎地使用那些只有HTTP 1.1支持的状态代码,因为许多浏览器还只能够支持HTTP 1.0.如果你使用了HTTP 1.1特 ...

  8. Apache配置rewrite

    最近将代码做了迁移,更换了web服务器,从原来的Nginx,换成使用Apache,多少有些区别.这里整理一下在apache下实现rewrite功能. 第一部分:修改apache配置文件支持rewrit ...

  9. 详解重定向(HTTP状态码301/302/303/307/408)附例子

    本文为原创文章,转载请注明出处. 今天打算好好把状态码301.302.303.307.308好好撸一遍,并会测试下一些例子. 状态码的解释 我们都知道重定向与这几种状态码有关,来看下这几种HTTP状态 ...

随机推荐

  1. 转:SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用

    原文链接:https://blog.csdn.net/evanxuhe/article/details/78650979 为了统一异常,我们通常定义一个统一管理所有Exception,包括自定义Exc ...

  2. 用jquery实现Ping测试网络连接性

    jquery的ping插件://要用的需要明白代码及自己改些地方 (function($) {    $.fn.ping = function(options) {        var opts = ...

  3. [Functional Programming] Reader with Async ADT

    ReaderT is a Monad Transformer that wraps a given Monad with a Reader. This allows the interface of ...

  4. 创建虚拟机(kvm)

    --virsh console virt_name -- virsh nodeinfo                     # 查看kvm节点(服务器)信息 --virsh list [--all ...

  5. 移动端H5开发问题记录

    1. 当弹出键盘时,会改变页面高度,影响页面样式 通过window.onsize事件可以控制键盘弹出或消失的时候的样式 var h = document.body.scrollHeight // 用o ...

  6. yii安装redis扩展(Windows)

    yii安装redis扩展可以用不同的方式, 最简单便捷的是使用 composer 方式, 有的时候composer会出现一些问题(现在还弄不懂),可能是网络什么的原因吧~ 还可以使用手动安装的方式, ...

  7. CentOS上部署Kubernetes集群

    1.开始前系统环境准备 # 1.设置基本环境 yum install -y net-tools conntrack-tools wget vim ntpdate libseccomp libtool- ...

  8. 【Python之路】特别篇--服务商API认证、Restful、一致性哈希

    API加密方式 1/ 加密方式: Md5 (随机字符串 + 时间戳) 2/ 发送方式: http://127.0.0.1:8888/index?pid= MD5加密值 | 时间戳 | 序号 服务端接收 ...

  9. Combine String HDU - 5707 dp or 广搜

    Combine String HDU - 5707 题目大意:给你三个串a,b,c,问a和b是不是恰好能组成c,也就是a,b是不是c的两个互补的子序列. 根据题意就可以知道对于c的第一个就应该是a第一 ...

  10. jQuery系列(三):jQuery动画效果

    jQuery提供的一组网页中常见的动画效果,这些动画是标准的.有规律的效果:同时还提供给我们了自定义动画的功能. 1.显示动画 方式一: $("div").show(); 解释:无 ...