RewriteRule参数

RewriteRule参数在重写规制的最后,也可以附加一个或多个标记参数(用逗号分开),从而为新的URL地址添加特殊的标志。这些参数是特殊的RewriteRule命令,并且不是普通的正则表达式,下表列出了一些常用的RewriteRule参数。这些重写标记必须被置于单条规则最后的括号内,多个标记需要适用逗号分开,例如”[NC,L]”RewirteRule标记含义描述RRedirect

大家好,又见面了,我是你们的朋友全栈君。

在重写规制的最后,也可以附加一个或多个标记参数(用逗号分开),从而为新的URL地址添加特殊的标志。这些参数是特殊的RewriteRule命令,并且不是普通的正则表达式,下表列出了一些常用的RewriteRule参数。这些重写标记必须被置于单条规则最后的括号内,多个标记需要适用逗号分开,例如”[NC,L]”

RewirteRule 标记 含义 描述
R Redirect 发出一个HTTP重定向
F Forbidden 禁止对URL地址的存取
G Gone 标记URL地址不存在
P Proxy 将URL地址传递至mod_proxy
L Last 停止处理接下来的规则
N Next 再次从第一个规则开始处理,但是使用当前重写后的URL地址
C Chain 将当前的规则和紧随其后的规则链接起来
T Type 强制执行指明的MIME类
NS Nosubreq 只在没有任何内部子请求执行时运用本规则
NC Nocase URL地址匹配对大小写敏感
QSA Qsappend 在新的URL地址后附加查询字符串部分,而不是替代
PT Passthrough 将重写后的URL地址传递给另一个Apache模块进行进一步处理
S Skip 忽略之后的规则
E Env 设置环境变量

RewriteRule命令按照配置文件中的顺序依次被处理。如果想确保某条规则是当匹配成功时处理的最后一条,就需要是使用表中的[L]标记。
RewriteRule ^/Product/P([0-9]+)\.html$ ./product.php?product_id=$1[L]
如果有一长串的RewriteRule命令,这将特别有用。因为使用[L]能提高性能,一旦匹配成功,将阻止mod_rewrite处理之后所有的RewriteRule命令。这也通常是我们想要的。

转自:http://www.zhengbiao.net/apache-rewriterule-parameters/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146569.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 适配器模式(Adapter模式)详解

    适配器模式(Adapter模式)详解http://c.biancheng.net/view/1361.html在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的SD内存卡时需要一个读卡器等。在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,这时用适配器模式能很好地解决这些问题。

    2022年7月25日
    11
  • Mit6.S081-实验1-Xv6 and Unix utilities

    Mit6.S081-实验1-Xv6 and Unix utilitiesMit6.S081-实验1-Xv6andUnixutilities前言一、Bootxv61,实验目的2,操作流程1)切换到xv6-labs-2020代码库的lab1分支2)启动xv63)测试xv64)过程分析5)其他操作二、在xv6中添加一个自己编写的程序1,源码准备2,编译配置3,测试添加程序4,过程分析三、xv6中shell简析前言一、Bootxv61,实验目的利用qemu启动xv62,操作流程1)切换到xv6-labs-2020代码库的lab1分支gitcheckoutut

    2022年9月26日
    2
  • java中 数组声明,java数组声明格式

    java中 数组声明,java数组声明格式java声明动态数组,java对象数组详解,java中声明数组,java数组声明格式Java中数组的声明一维数组的声明:在Java中,数组是独立的对象,有自身的方法,不是变量的集合。数组的声明:类型标识符数组名[]或者类型标识符[]……一维数组一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分…

    2022年6月2日
    38
  • string转map_中将转业可以任省长吗

    string转map_中将转业可以任省长吗暴力的直接Map对象toString()存,后面取出是就是用再转换为MapString转Map:JSONObjectjsonobject=JSONObject.fromObject(str);rMap=(Map<String,Object>)jsonobject;但很多时候并不能直接将Map对象的toString()而是应该转换为JsonObject后再调用toString()后存入就正常了Map<String,Object>map=newHashMa

    2025年8月31日
    5
  • LoRawan_lomando游戏下载

    LoRawan_lomando游戏下载版本管理 目录第4章MAC帧格式…1前言…14.1MAC层(PHYPayload)24.2MHDR帧头…24.2.1消息类型(MType位字段)24.2.2数据消息的主版本(Major位字段)34.3MAC载荷(MACPayload)44.3.1帧头(FHDR)44.3.2端口字段(FPort)84.3….

    2022年8月30日
    2
  • cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法

    cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法

    2021年12月3日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号