加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

php-iis web.config文件上的{R:1}和{C:1}之间的区别

发布时间:2020-05-27 12:41:20 所属栏目:Nginx 来源:互联网
导读:在我的工作中,我被要求将在iis / azure上运行的php应用程序迁移到通过GNU Linux机器上的nginx和fpm运行.然后在此过程中,我遇到了一个名为web.config的文件,其中包含条目,例如:action name=SomeName stopProcessing=true match url=.*

在我的工作中,我被要求将在iis / azure上运行的php应用程序迁移到通过GNU Linux机器上的nginx和fpm运行.

然后在此过程中,我遇到了一个名为web.config的文件,其中包含条目,例如:

<action name="SomeName" stopProcessing="true">
   <match url=".*" ignoreCase="true" />
   <conditions>
      <add input="{URL}" pattern="^some_regex^">
   </conditions>
   <action type="Rewrite" url="index.php?someaction={C:1}">
</action>

要么

<action name="SomeName" stopProcessing="true">
   <match url=".*" ignoreCase="true" />
   <conditions>
      <add input="{URL}" pattern="^some_regex^">
   </conditions>
   <action type="Rewrite" url="index.php?someaction={R:1}">
</action>

到目前为止,我认为像这样的nginx映射:

^some_regex^ index.php?someaction=$1;

会在两个动作中都做得到(以某种方式).但是我仍然无法理解正则表达式机器上的{C:1}和{R:1}之间的区别,我知道在我的Nginx中会像$1(一个subregex匹配项),但是与web.config的区别是{C: 1}和{R:1}项?

我问是因为我可能需要更改nginx的subregex匹配项,以便确定匹配项是{C:1}还是{R:1}.

最佳答案 这是你的答案

对条件模式的后向引用由{C:N}标识,其中N为0到9.对规则模式的后向引用由{R:N}标识,其中N为0到9.请注意,对于两种类型的向后引用{R:0}和{C:0}将包含匹配的字符串.有关更多详细信息,请查看:IIS URL Rewrite {R:N} clarification

您可以找到更多的信息:https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#using-back-references-in-rewrite-rules

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读