【htaccess】存在するディレクトリ・ファイル名をリダイレクト除外する方法

ポイントとなるのは、RewriteRule を「何もしない」の意味の「-」(ハイフン)にすること。これで存在するフォルダ・ファイルをリダイレクトの対象から外すことができます。

ざっくり言うと

説明

ポイントとなるのは、

RewriteRule の移動先にあたるところをハイフンだけにすることによって、何もしない、つまりリダイレクトの除外にすることができます。

また、RewriteCond で、Wordpress ではよく「存在するディレクトリ名・ファイル名であれば除外」という風にしていると思います。こんな風に。

しかし今回は、逆に存在していれば、という条件発動にしてリダイレクトの対象から外しています。

追記:Windows Server(IIS)の場合

Windows Server(IIS)の場合、受信規則を以下のように従って追加していきます。

  • URL の一致
    • 要求された URL: パターンに一致する
    • 使用: 正規表現
    • パターン: ^(.*)$
  • 条件
    • 論理グループ化: いずれかと一致
    • 条件 1: ファイルである
    • 条件 2: ディレクトリである
    • 条件間でキャプチャ グループを追跡する: いいえ
  • サーバー変数: とくに設定しない
  • アクション
    • アクションの種類: なし
    • 後続の規則の処理を停止する: はい

iis-noredirect-kisoku