gpt4 book ai didi

asp.net-mvc - URL 重写和 IIS Express : some rules work, 有些没有

转载 作者:行者123 更新时间:2023-12-01 22:49:36 25 4
gpt4 key购买 nike

我正在使用 IIS Express 开发一个 MVC 3 应用程序,该应用程序在 web.config 中进行一些 URL 重写。我遇到了一些奇怪的情况,其中一些规则完美运行,而另一些则失败。

例如,这个有效:

<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern=".+" />
<action type="Rewrite" value="" />
</rule>

(来源:https://stackoverflow.com/a/8089525/88709)

这个没有(在第二行给出无法识别的属性'url'):

<rule name="Remove trailing slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>

(来源:http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx)

根据Introducing IIS Express ,作者:ScottGu,IIS Express 支持完整的 Web 服务器功能集,包括 SSL、URL 重写、媒体支持以及所有其他 IIS 7.x 模块。

我倾向于相信 IIS Express 附带的 URL 重写模块可能是 1.0 版本,而不是 2.0。所以我安装了URL Rewrite Module 2.0 ,但我仍然遇到同样的错误。

有人知道为什么会发生这种情况吗?如果重要的话,我的设置是 Visual Studio 2010 SP1、IIS Express 7.5.1070、ASP.NET MVC 3。

最佳答案

问题是我放置了 <rule>在错误的节点; “删除尾部斜杠”规则应该位于 <rules></rules> 内部,但我错误地将其放在 <outboundRules></outboundRules> 中(顺便说一句,这是“删除 ETag”规则所在的位置)。

关于asp.net-mvc - URL 重写和 IIS Express : some rules work, 有些没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com