单击 IIS7 管理器中的 Url Rewrite 功能时出现错误:
执行此操作时出现错误。 细节: 文件名:\\?\C:\Domains\...<blah_blah>...\web.config 错误:配置部分“system.webServer/rewrite/rules” 无法读取,因为缺少节声明
我刚刚从 IIS6 设置迁移到 IIS7 服务器,并且我的 web.config 文件在 system.webServer 下没有重写部分。
答案1
IIS6 和 IIS7 使用web.config
文件的不同部分来指定站点配置。
例如,IIS6 使用system.web
部分,而 IIS7 使用system.webServer
部分。但是,这并不像更改一个元素那么简单,因为底层子元素也不同。
一些关键的变化:
<httpModules>
和分别<httpHandlers>
更名为<modules>
和<handlers>
。- IIS7 中的每个处理程序都需要一个 name 属性。如果您不指定它,您将收到一条错误消息。
- 处理程序节点有一个可选但值得定义的
accessPolicy
属性。此值取决于您的处理程序,因此请使用适合您的处理程序。
这些建议和更多信息可在此帖子中找到:对 IIS6 和 IIS7 使用单个 Web.Config