【问题标题】:Unable to remove a URL rewrite from IIS7无法从 IIS7 中删除 URL 重写
【发布时间】:2012-03-21 00:22:23
【问题描述】:

我已经花了几个小时试图解决这个问题,所以我将发布作为最后的手段..

我已尝试删除一些将网页从 HTTP 指向 HTTPS 的 URL 重写。

删除重写后,它仍然将我发送到 HTTPS。我试过了; 手动编辑 web.config 重新启动网站 重新启动 IIS 服务器 重新启动 IIS 管理服务 重启服务器

以上似乎都没有停止重写..

我有什么遗漏吗?

【问题讨论】:

  • 什么浏览器?我发现 FireFox 具有缓存 url 重写正在做什么的诀窍.... 尝试使用 ctrl+f5 缓存清除刷新?我也为此浪费了很多时间.... :)
  • 不 - 刚刚尝试过 Chrome / Firefox / IE8 / IE9 并且所有结果都相同..
  • 我最终遇到了同样的问题,即在重定向的 URL 中出现错误,现在 URL 已更新并且我在 applicationHost.config 文件中看到了更改,我仍然在服务器。在失败的跟踪日志中,我看到旧的/损坏的 URL 正在使用并且失败,即使清除浏览器缓存并重新启动 IIS 到目前为止也没有解决问题。

标签: iis iis-7 url-rewriting


【解决方案1】:

我在使用 IIS express 时遇到了同样的问题 - 从 web.config 中删除重写部分是不成功的。 解决方案 - 清理浏览器的缓存。

【讨论】:

    【解决方案2】:

    您检查过服务器级别的规则吗?可以在 IIS 管理器中找到,点击服务器节点,然后点击 Url Rewrite 模块,或者直接在 IIS 配置文件中找到:

    C:\Windows\System32\inetsrv\config\applicationHost.config
    

    【讨论】:

    • 我假设您的意思是“连接”树中的服务器。我只有一个,其中包含我网站的所有配置所在的“站点”文件夹。我已经在服务器级别检查了“url 重写”,但没有。在我的任何一个网站配置中都没有对 https 进行重写。 :(
    • 就我而言,这正是解决方案!不太清楚为什么它被添加为全局规则而不是应用程序级别,但无论如何,谢谢。
    【解决方案3】:

    似乎有一个输出缓存可以在重定向响应再次到达 URL 重写规则之前对其进行缓存。可以关闭:

    <system.webServer>
        <caching enabled="false" enableKernelCache="false" />
    </system.webServer>
    

    请注意,这是整个应用程序的输出缓存,因此可能会影响其他内容。在任何情况下都可以使用它然后注释掉以清除 url 重写规则的状态。

    【讨论】:

      猜你喜欢
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-02
      • 2012-08-19
      • 2011-07-30
      • 2012-02-07
      • 1970-01-01
      相关资源
      最近更新 更多