我在IIS7(Vista)上使用带有.NET 3.5的ASP.net和Microsoft的URL重写模块。
这意味着,我有一个
<system.webServer>
<rewrite>...</rewrite>
...
</system.webServer>
web.config中的部分,但我收到警告,在system.webServer中,不允许使用“rewrite”元素。
如何配置我的系统以允许(甚至可能有Intellisense)在web.config的重写部分?
谢谢 克里斯托弗
答案 0 :(得分:25)
我能够在Visual Studio 2010中使用它。
从Ruslan的帖子here开始,下载2.0 IntelliSense文件。然后,只需按照之前发布的说明here进行操作即可。我最后做的就是按照Ruslan的指示运行以下命令:
C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js
正如Christoph在评论中指出的那样,如果您使用的是Visual Studio 2010,请确保在运行上述命令之前在UpdateSchemaCache.js中将VS90COMNTOOLS
替换为VS100COMNTOOLS
。
我不需要重新启动Visual Studio。我将<rewrite>
部分仅添加到适用的Web.config转换文件中,因为它在主Web.config中打破了本地调试。
答案 1 :(得分:3)
我认为您需要在系统的web.config文件中“安装”URL重写模块。
您需要通过IIS 7.0界面在应用程序上安装模块,或让您的托管公司为您执行此操作。
答案 2 :(得分:3)
我相信您需要在web.config中定义模块,如下所示:
<system.webServer>
<modules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</modules>
</system.webServer>
击> <击> 撞击> 更新:可以在此处设置智能感知:
http://ruslany.net/2009/08/visual-studio-xml-intellisense-for-url-rewrite-1-1/
更新:验证是否在%systemroot%\ system32 \ inetsrv \ config \ applicationHost.config中标识了sectionGroup:
<sectionGroup name="rewrite">
<section name="rules" overrideModeDefault="Allow" />
<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
<section name="rewriteMaps" overrideModeDefault="Allow" />
</sectionGroup>