web-dev-qa-db-ja.com

asp.net、url書き換えモジュールおよびweb.config

microsoftのURL書き換えモジュールを使用してIIS7(Vista)上の.NET3.5でASP.netを使用しています。

これは、私が持っていることを意味します

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

web.config内のセクションですが、system.webServer内で要素「rewrite」が許可されていないという警告が表示されます。

Web.configの書き換え部分で許可する(そしておそらくIntellisenseを使用する)ようにシステムを構成するにはどうすればよいですか?

ありがとうクリストフ

31
Christoph

Visual Studio2010でこれを機能させることができました。

Ruslanの投稿 ここ から始めて、2.0IntelliSenseファイルをダウンロードします。次に、彼が以前に投稿した指示に従ってください ここ 。 Ruslanが指示するように、私がやったのは次のコマンドを実行することだけでした。

C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js

Christophがコメントで指摘しているように、Visual Studio 2010を使用している場合は、上記のコマンドを実行する前に、UpdateSchemaCache.jsでVS90COMNTOOLSVS100COMNTOOLSに置き換えてください。

VisualStudioを再起動する必要はありませんでした。 <rewrite>セクションを該当するWeb.config変換ファイルにのみ追加しました。これは、メインのWeb.configに含めるとローカルデバッグが中断されるためです。

25

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

システムのweb.configファイル内にURL書き換えモジュールを「インストール」する必要があると思います。

IIS 7.0インターフェイスを介してモジュールをアプリケーションにインストールするか、ホスティング会社にインストールしてもらう必要があります。

3
Randy Burgess