8

Windows Server 2008 R2 で IIS7 を使用して ASP.NET 4.0 Web サイトを実行しています。

このサイトには、メイン ドメイン (~/site1、~/site2、~/site3 など) の下に多数の Web アプリケーションがあります。各 Web アプリケーションは、同じ Web サイト ソース フォルダー (D:\Websites\MySite) のインスタンスであるため、次の URL のいずれかで同じ Web サイトにアクセスできます。

www.mydomain.com

www.mydomain.com/site1

www.mydomain.com/site2

www.mydomain.com/site3

毎回同じ Web サイトが返されますが、どの特定の URL が呼び出されるかによって内容が若干異なります。

URL Rewrite を使用して SEO の最適化を追加するように依頼されるまで、何ヶ月もの間、すべてがうまく機能していました。追加するすべての URL 書き換えルールで、次のエラーが発生します。

HTTP エラー 500.52 - URL 書き換えモジュール エラー。内部サーバーエラーが発生したため、ページを表示できません。

構成エラー: 一意のキー属性 'name' が 'AddTrailingSlashRule1' に設定されたタイプ 'rule' の重複したコレクション エントリを追加できません

web.config ファイルの <system.webServer> configSection を次のように囲んでいる他の場所を読みました。

<location path="." inheritInChildApplications="false">

この問題を修正します。

ただし、エラー メッセージが表示されなくなりますが、Web アプリケーション (~/site1、~/site2、~/site3) で URL 書き換えルールが機能しなくなります。

URL 書き換えモジュールを Web アプリケーションで動作させるにはどうすればよいですか?

ご協力いただきありがとうございます。

4

1 に答える 1

26

サブサイトでの重複エラーを防ぐためにクリアを追加します。

 <rules>
    <clear />
    <rule name="Redirect rule for /maps">
      ....
    </rule>
 </rules>
于 2013-03-11T20:14:51.817 に答える