【ASP.NET MVC】【Web.config】リダイレクトルールを記載する


ASP.NET MVCにてWeb.Configにリダイレクトルールを記載する際の記述の仕方です。
IISマネージャの「URL書き換え」機能でも設定できますが、コード管理している場合はWeb.configに記載したほうが良いかもしれません。

記述する場所

<configuration>
  <system.webServer>
    <rewrite>
      <rules>以下に記載する

記載内容

<rule name="ルール名" enabled="true/false" stopProcessing="true/false">
    <match url="[正規表現]" negate="true/false" />
    <action type="Redirect" url="[リダイレクト先のパス]" redirectType="Found" />
</rule>

必要に応じて複数記載する

各タグの記載内容の詳細

<rule name="ルール名" enabled="true/false" stopProcessing="true/false">
  • enabled
    trueで有効化、falseで無効化
  • stopProcessing
    ルールが複数ある場合に後のルールを適用せずストップさせるかどうか
    ※ルールは記載された順番に上から評価されていきます。
<action type="Redirect" url="[リダイレクト先のパス]" edirectType="Found" />
  • type
    Redirectでリダイレクトする
    RewriteでURLはそのまま表示するページを変更する
  • redirectType
    Foundで302リダイレクト(一時的なリダイレクト)
    Permanentで301リダイレクト(恒久的なリダイレクト)
<match url="[正規表現]" negate="true" />
  • negate
    trueにすると、マッチしない場合にこのルールを適用する
    記述しない、またはfalseの場合、マッチした場合にルールを適用する

Programming Blog