31

我在 IIS7 (Vista) 上使用带有 .NET 3.5 的 ASP.net 和 Microsoft 的 URL 重写模块。

这意味着,我有一个

<system.webServer>
    <rewrite>...</rewrite>
    ...
</system.webServer>

web.config 中的部分,但我收到警告,在 system.webServer 中不允许元素“重写”。

我如何配置我的系统以允许(甚至可能有 Intellisense)在 web.config 的重写部分?

谢谢克里斯托夫

4

3 回答 3

25

我能够在 Visual Studio 2010 中使用它。

从 Ruslan 的帖子开始,下载 2.0 IntelliSense 文件。然后,只需按照他之前在此处发布的指示进行操作即可。我最终所做的只是按照 Ruslan 的指示运行以下命令:

C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js

正如 Christoph 在他的评论中指出的那样,如果您使用的是 Visual Studio 2010,请确保在运行上述命令之前替换为 UpdateSchemaCache.js VS90COMNTOOLSVS100COMNTOOLS

I did not need to restart Visual Studio. I added the <rewrite> section only to the applicable Web.config transformation files, as having it in the main Web.config breaks local debugging.

于 2010-08-15T03:29:49.030 回答
3

我相信您需要在系统的 web.config 文件中“安装” URL 重写模块。

您需要通过 IIS 7.0 界面在应用程序上安装该模块,或者让您的托管公司为您安装。

于 2009-05-15T20:32:23.407 回答
3

我相信您需要像这样在 web.config 中定义模块:

<system.webServer>
    <modules>
        <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </modules>
</system.webServer>

更新:Intellisense 可以在这里设置:

http://ruslany.net/2009/08/visual-studio-xml-intellisense-for-url-rewrite-1-1/

更新:验证 sectionGroup 是否在 %systemroot%\system32\inetsrv\config\applicationHost.config 中标识:

<sectionGroup name="rewrite">
    <section name="rules" overrideModeDefault="Allow" />
    <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="rewriteMaps" overrideModeDefault="Allow" />
</sectionGroup>
于 2009-11-28T19:26:13.520 回答