zoukankan      html  css  js  c++  java
  • apache中的RewriteCond、RewriteRule

    Rewirte主要的功能就是实现URL的跳转。可基于服务器级的(httpd.conf)和目录级的(.htaccess) 两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。

    需要注意的是,必须在每个virtualhost里用RewriteEngine on来打开rewrite功能。否则virtualhost里没有RewriteEngine on它里面的规则也不会生效。 
      基于目录级的(.htaccess),要注意一点那就是必须打开此目录的FollowSymLinks属性且在.htaccess里要声明RewriteEngine on

    RewriteCond

      RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始、基础的功能,为了方便理解,下面来看看几个例子。

    RewriteEngine on    //打开重写

    RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/5.0.*     // 如果HTTP_USER_AGENT是Mozilla/5.0.*;

      //%{HTTP_USER_AGENT}是Rewrite测试字段     ^Mozilla/5.0.*  rewriteparnter是 正则表达式

    RewriteRule index.php  index.m.php    //满足条件index.php定向到index.m.php

    RewriteCond %{HTTP_USER_AGENT}  ^Lynx.*  

    RewriteRule index.php index.L.php

    RewriteRule index.php index.b.php

    222222222

    RewriteEngine on #打开rewirte功能
    RewriteCond %{HTTP_HOST} !^www.kiya.cn [NC] #声明Client请求的主机中前缀不是www.kiya.cn,其中 [NC] 的意思是忽略大小写
    RewriteCond %{HTTP_HOST} !^70.40.213.183 [NC] #声明Client请求的主机中前缀不是70.40.213.183,其中 [NC] 的意思是忽略大小写
    RewriteCond %{HTTP_HOST} !^$ #声明Client请求的主机中前缀不为空
    RewriteRule ^(.*) http://www.kiya.cn/ [L] #含义是如果Client请求的主机中的前缀符合上述条件,则直接进行跳转到http://www.kiya.cn/,
    [L]意味着立即停止重写操作,并不再应用其他重写规则。这里的.*是指匹配所有URL中不包含换行字符,()括号的功能是把所有的字符做一个标记,以便于
    后面的应用.就是引用前面里的(.*)字符。
    //////////////3个 RewriteCond  之间是and 关系
    //最后一条规则是,只要满足上述3条Cond规则,就执行跳转 http://www.kiya.cn/

    //////////////////////333333333
    RewriteEngine on #打开URL Rewrite功能
    RewriteCond %{HTTP_HOST} ^[^.]+.kiya.(cn|us)$ #匹配条件,如果用户输入的URL中主机名是类似 xxxx.kiya.us 或者 xxxx.kiya.cn 就执行下面一句
     RewriteRule ^(.+) %{HTTP_HOST}$1 [C] #把用户输入完整的地址(GET方式的参数除外)作为参数传给下一个规则,[C]是Chain串联下一个规则的意思


  • 相关阅读:
    docker4dotnet #1 – 前世今生 & 世界你好
    DockerCon 2016 – 微软带来了什么?
    TFS 2015 敏捷开发实践 – 看板的使用
    几款Git GUI客户端工具
    (视频)Erich Gamma 与 Visual Studio Online 的一点野史
    GitHub + VSTS 开源代码双向同步
    UDAD 用户故事驱动的敏捷开发 – 演讲实录
    用户故事驱动的敏捷开发 – 2. 创建backlog
    算法 之 简单选择排序法
    算法 之 冒泡排序法
  • 原文地址:https://www.cnblogs.com/hehexu/p/8372263.html
Copyright © 2011-2022 走看看