繁体   English   中英

正则表达式不适用于IIS中重写的URL中的{URL}

[英]Regex does not work for {URL} in the URL rewrite in IIS

在Windows 10的IIS中使用URL重写
我想检查IIS中的特定URL。 以下是我需要检查的条件。

  1. www.mtl173 HTTP://www.mtl173 HTTP://www.mtl173/ mtl173 /
    首先,应该是有效的,并且应该重定向到给定的路径。

到目前为止,我已经检查了{URL}。

<rule name="RuleForSite1" stopProcessing="true">
        <match url="(.*)" ignoreCase="false" />
        <conditions>
            <add input="{URL}" pattern="^(http\:\/\/)?(www\.)?mtl173(\/)?$" />
        </conditions>
        <action type="Redirect" url="www.mtl173/app1/" />
    </rule>

注意:当我测试IIS中的所有URL时,所有测试都通过了,但是当我从浏览器运行相同的URL时,它将显示默认的IIS页面,并且不会将我重定向到app1 /

但是,以上方法不起作用,并且不能将URL重定向到给定的路径。 我面临的问题有任何补救措施吗?

预期结果:
当我输入以下任何URL时,它应将我重定向到/ app1。

  1. www.mtl173
  2. HTTP://www.mtl173
  3. HTTP://www.mtl173/
  4. mtl173 /

您可以使用以下url重写规则。

  <rule name="RuleForSite1" stopProcessing="true">
    <match url="(.*)" ignoreCase="false" />
    <conditions>
                    <add input="{HTTP_HOST}" pattern="^www.mtl173|mtl173$" />
                    <add input="{REQUEST_URI}" pattern="app1" negate="true" />
    </conditions>
    <action type="Redirect" url="http://www.mtl173/app1/" />
</rule>

在此处输入图片说明

在此处输入图片说明

您可以通过以下链接了解服务器变量: IIS服务器变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM