URL 重写 - web.config 错误
Posted
技术标签:
【中文标题】URL 重写 - web.config 错误【英文标题】:URL rewrite - web.config error 【发布时间】:2010-12-16 20:39:16 【问题描述】:运行 .aspx 页面时出现以下错误。
错误码0x8007000d 无法读取配置节“重写”,因为它缺少节声明
我有一个简单的 v.aspx 页面,其中包含以下代码:
Response.Write(Request("q"))
我的托管服务器安装为 IIS 7 并启用了 URL 重写功能(这就是他们声称的)
我的 web.config 文件在下面有以下几行:
注意:节点下方有蓝色波浪线
<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="REQUEST_FILENAME" matchType="IsFile" negate="true" />
<add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="v.aspx?q=R:1" />
</rule>
</rules>
</rewrite>
我已经搜索了***,但没有找到解决方案。
可能有人找到了解决方案。
TIA
【问题讨论】:
【参考方案1】:确保您的 <rewrite>
包含在 <system.webServer></system.webServer>
部分中。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="REQUEST_FILENAME" matchType="IsFile" negate="true" />
<add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="v.aspx?q=R:1" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
【讨论】:
安装 URL 重写模块 http://www.iis.net/download/URLRewrite 并且应该排序。它解决了我的问题
【讨论】:
也为我工作,但我使用网络平台安装程序添加它。 下载地址已被删除,您可以从这里下载:microsoft.com/en-eg/download/confirmation.aspx?id=7435【参考方案3】:在 IIS7 中支持 system.webServer 中的重写部分,但在 IIS6 中不支持。该错误可能是由于将此站点部署到仅运行 IIS6 的服务器而引起的。
【讨论】:
IIS8 也遇到了这个问题。进行安装修复它。以上是关于URL 重写 - web.config 错误的主要内容,如果未能解决你的问题,请参考以下文章
从代码 C# 更改 Web.Config 中的 URL 重写规则
Azure 网站 - 使用 web.config 重写 URL 不起作用
Blazor WebAssembly - 如何在自动生成的 web.config 中添加“http 到 https”URL 重写规则