Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式不适用于IIS中URL重写中的{URL}_Iis_Url Rewriting - Fatal编程技术网

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

正则表达式不适用于IIS中URL重写中的{URL},iis,url-rewriting,Iis,Url Rewriting,在windows 10上的IIS中使用URL重写我想检查IIS中的特定url。 下面是我需要检查的情况 www.mtl173或或或mtl173/ 最重要的是,它们应该是有效的,并且应该重定向到给定的路径 我已经检查了{URL},如下所示 <rule name="RuleForSite1" stopProcessing="true"> <match url="(.*)" ignoreCase="false" /> <conditions

在windows 10上的IIS中使用URL重写
我想检查IIS中的特定url。 下面是我需要检查的情况

  • www.mtl173mtl173/
    最重要的是,它们应该是有效的,并且应该重定向到给定的路径
  • 我已经检查了{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>
    
    
    

  • 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>
    
    
    

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

    如果您的问题得到解决,请将帖子标记为答案。这将帮助其他面临同样问题的人。等等,我正面临另一个问题。。。当我输入完全不正确的URL时,它会将我重定向到app1/登录页面。假设我正在输入URL:。在这里,IIS上没有托管这样的应用程序(toast)。它应该显示404或500或302错误。如果你理解我的担心,并有任何解决办法,请让我知道。否则,我将提出一个新问题并标记此答案。这是一个新问题。你可以为一个新问题创建一个新帖子。我会尽力解决你的问题。