Url rewriting Can';t在GoDaddy Hosting-iis7.0的web.config文件中,对多个重写规则使用{HTTP_HOST}

Url rewriting Can';t在GoDaddy Hosting-iis7.0的web.config文件中,对多个重写规则使用{HTTP_HOST},url-rewriting,iis-7,web-config,url-rewrite-module,http-host,Url Rewriting,Iis 7,Web Config,Url Rewrite Module,Http Host,我在为GoDaddy托管的网站创建一些重写规则时遇到了一个奇怪的问题。我可以使用{HTTP\u HOST}或{SERVER\u NAME}变量创建一个重写规则,但是在添加第二个规则时,看起来{HTTP\u HOST}/{SERVER\u NAME}没有返回值(我猜),所以我的代码失败了 在一个小错误之后,我找到了解决这个问题的方法(我将在底部添加)。我问这个问题是因为我想: 理解这种行为的原因 知道这是否发生在其他人身上 找出我的方法是否错误,或者我是否遗漏了什么 它能起作用吗 由于这个问题

我在为GoDaddy托管的网站创建一些重写规则时遇到了一个奇怪的问题。我可以使用
{HTTP\u HOST}
{SERVER\u NAME}
变量创建一个重写规则,但是在添加第二个规则时,看起来
{HTTP\u HOST}
/
{SERVER\u NAME}
没有返回值(我猜),所以我的代码失败了

在一个小错误之后,我找到了解决这个问题的方法(我将在底部添加)。我问这个问题是因为我想:

  • 理解这种行为的原因
  • 知道这是否发生在其他人身上
  • 找出我的方法是否错误,或者我是否遗漏了什么 它能起作用吗
由于这个问题,我决定清除整个web.config文件以进行测试,只保留重写规则。我尝试了多个更改,但现在无法回忆起所有更改,因此我将尽可能多地添加

问题 此代码有效



  • 物理路径:D:\Hosting\123123\html\myFile.xml
  • 登录方法:匿名
  • 登录用户:匿名
  • 500.0错误-详细信息

    • 模块:服务器端IncludeModule
    • 通知:ExecuteRequestHandler
    • 处理程序:SSI html
    • 错误代码:0x80070002
    • 请求的URL:
    • 物理路径:D:\Hosting\123123\html\thisThingy.txt
    • 登录方法:匿名
    • 登录用户:匿名
    现在,如果仅对第二个规则中的字符串更改
    {HTTP_HOST}
    ,则两个规则都开始工作:

    
    
    请注意: 我还尝试使用不同的
    模式语法
    选项,
    重定向
    而不是
    重写
    停止处理=“false”
    ,使用
    {SERVER\u NAME}
    而不是
    {HTTP\u HOST}
    ,在第一条规则之前添加了
    ,但没有任何变化。同样的行为

    变通办法 始终使用
    {HTTP\u HOST}
    添加规则条件,以便能够使用
    {SERVER\u NAME}
    作为规则操作的变量

    
    
    请注意:
    • 我正在使用
      {HTTP\u HOST}
      {SERVER\u NAME}
      ,但只使用
      {HTTP\u HOST}
      就可以了。我现在不能测试这个
    非常感谢。