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】:

确保您的 &lt;rewrite&gt; 包含在 &lt;system.webServer&gt;&lt;/system.webServer&gt; 部分中。

<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>

【讨论】:

包含在 部分中。【参考方案2】:

安装 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 重写规则

asp.net、url 重写模块和 web.config

PHP:使用 web.config 重写 URL

IIS URL 重写和 Web.config

Azure 网站 - 使用 web.config 重写 URL 不起作用

Blazor WebAssembly - 如何在自动生成的 web.config 中添加“http 到 https”URL 重写规则