web-dev-qa-db-ja.com

ASP.NET httpRedirect:1つを除くすべてのページをリダイレクトします

このセクションを完全に閉じたいので、Webサイトのフォルダーの1つにあるweb.configでこのコードを使用して、すべてのページをルートにリダイレクトします。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <location>
    <system.webServer>
      <httpRedirect enabled="true" destination="http://www.example.com/" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
</configuration>

しかし、私はこのルールに例外を設ける必要があります。ページ「default.aspx」をリダイレクトしたくないのです。どうやってやるの?

22
NLemay

次の方法でワイルドカードを追加して、特定のファイルのみをリダイレクトできます。

    <configuration>
       <system.webServer>
          <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
             <add wildcard="*.php" destination="/default.htm" />
          </httpRedirect>
       </system.webServer>
    </configuration>

しかし、特定のファイルを無視するように、それを否定できるかどうかはわかりません。

12
shawty

Default.aspxを<location>としてhttpRedirectを無効にしてください。 <location>の前後に<system.webServer>を置いてもかまいません。

<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="http://www.example.com/" exactDestination="true" httpResponseStatus="Permanent" />
    </system.webServer>
    <location path="Default.aspx">
        <system.webServer>
            <httpRedirect enabled="false" />
        </system.webServer>
    </location>
</configuration>
39
CZFox