Iis 7 URL重写:服务器don';不要重写

Iis 7 URL重写:服务器don';不要重写,iis-7,url-rewriting,Iis 7,Url Rewriting,我正在尝试使用URL重写模块重写IIS 7.0服务器中的URL,但它不起作用 我必须为从第三方身份验证页面接收URL建立一个规则,该页面带有“jsessionid=null”标记,在调用我的页面时在IIS中引发错误。我试图只删除“jsessionid=null”语句。我需要将URL查询语句添加到我的应用程序() 我写了这条规则: 模式: (http://.*);jsessionid=null(.*) 行动: {R:1}{R:2} 当我测试模式时,结果是正常的。但在实践中,并没有发生任何事情,

我正在尝试使用URL重写模块重写IIS 7.0服务器中的URL,但它不起作用

我必须为从第三方身份验证页面接收URL建立一个规则,该页面带有“jsessionid=null”标记,在调用我的页面时在IIS中引发错误。我试图只删除“jsessionid=null”语句。我需要将URL查询语句添加到我的应用程序()

我写了这条规则:

模式:

(http://.*);jsessionid=null(.*)
行动:

{R:1}{R:2}
当我测试模式时,结果是正常的。但在实践中,并没有发生任何事情,就像并没有重写模块一样。在Web.config文件中,似乎没有问题:

  <system.webServer>
      <modules runAllManagedModulesForAllRequests="true" />
        <rewrite>
            <rules>
                <rule name="refazer_url_autenticador_df" enabled="true" patternSyntax="ECMAScript" stopProcessing="false">
                    <match url="(http://.*);jsessionid=null(.*)" />
                    <action type="Rewrite" url="{R:1}{R:2}" logRewrittenUrl="true" />
                </rule>
            </rules>
        </rewrite>
  </system.webServer>
没有令牌(URL手动重写),一切都会好起来

怎么了?也许是规则,也许是另一个ISS配置


谢谢

您应该使用失败的请求跟踪来更好地了解正在发生的事情,特别是应该在测试模式UI中测试的实际值。见:


我猜正在发生的事情是Match中的URL永远不会包含HTTP协议,而是从站点的根开始。另外,JSSessionID是查询字符串的一部分吗?如果是,则需要使用条件来捕获条件中的查询字符串。最后,确保最终结果只包含从site/的根开始的URL,而不是HTTP。这仅在路由到其他服务器/应用程序池时需要,但需要在计算机中安装应用程序请求路由(ARR)。

它可以工作!就这样。。。我已将规则更改为“(*);JSSessionID=null(.*)”,现在模块正在正确地重写URL。问题是HTTP。
404 - File or directory not found.

    The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.