千家信息网

rewritecond怎么用

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章给大家分享的是有关rewritecond怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。RewriteCond指令定义一条规则条件。在一条RewriteRule
千家信息网最后更新 2025年01月24日rewritecond怎么用

这篇文章给大家分享的是有关rewritecond怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  RewriteCond指令定义一条规则条件。在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,只有当自身的模式(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。

  RewriteCond使用

  RewriteCondTestStringCondPattern[flags]

  RewriteCond指令定义一条规则条件。在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,只有当自身的模板(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。

  RewriteCond语法

  1、TestString是一个纯文本的字符串,除了包含普通的字符外,还可以包括下列的可扩展结构:

  1)$N:RewriteRule后向引用,其中(0<=N<=9)。$N引用紧跟在RewriteCond后面的RewriteRule中模板中的括号中的模板在当前URL中匹配的数据。

  2)%N:RewriteCond后向引用,其中(1<=N<=9)。%N引用最后一个RewriteCond的模板中的括号中的模板在当前URL中匹配的数据。

  3)${mapname:key|default}:RewriteMap扩展。

  2、CondPattern是条件pattern,即一个应用于当前实例TestString的正则表达式,即TestString将会被计算然后与CondPattern匹配。作为一个标准的扩展正则式,CondPattern有以下补充:

  1)可以在模板串前增加一个!前缀,以用表示不匹配模板。但并不是所有的test都可以加!前缀。

  2)CondPattern中可以使用以下特殊变量:

  '

  '>CondPattern'(大于)将condPattern当做一个普通字符串,将它和TestString进行比较,当TestString的字符大于CondPattern为真。

  '=CondPattern'(等于)将condPattern当做一个普通字符串,将它和TestString进行比较,当TestString与CondPattern完全相同时为真.如果CondPattern只是""(两个引号紧挨在一起)此时需TestString为空字符串方为真。

  '-d'(是否为目录)将testString当做一个目录名,检查它是否存在以及是否是一个目录。

  '-f'(是否是regularfile)将testString当做一个文件名,检查它是否存在以及是否是一个regular文件。

  '-s'(是否为长度不为0的regular文件)将testString当做一个文件名,检查它是否存在以及是否是一个长度大于0的regular文件。

感谢各位的阅读!关于"rewritecond怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0