Posted at

リダイレクト設定

More than 3 years have passed since last update.


apacheサーバでのリダイレクト設定


.htaccessについて


  • 301でリダイレクトするとブラウザでキャッシュされる→302ならキャッシュされないので、デバッグ時は302で良いかも


    • そもそもモバイルリダイレクト向けには302を推奨している



  • RewriteCondは直後のRewriteRuleに対してのみ有効

  • RewriteCondは否定条件も書ける

RewriteCond %{REQUEST_URI} !(^/notredirect/$)


  • RewriteCondは複数書ける

RewriteCond 条件1

RewriteCond 条件2
RewriteCond 条件3
RewriteRule ^(.*)$ /redirect/$1 [R=302,L] 条件1、2、3にマッチしたものがリダイレクト対象になる

RewriteCond 条件4
RewriteRule ^(.*)$ /redirect2/$1 [R=302,L] 条件4にマッチしたものがリダイレクト対象になる


  • 404の書き方 ErrorDocument 404 /

  • オプション


    • R:リダイレクト httpステータスを指定できるR=301とか

    • L:以降のRuleを参照しない


      • ただし.htaccess では無効になる



    • OR: OR条件


      • デフォルトはAND条件になるのでANDにしたい場合は何もなしでよい。






  • 下位ディレクトリに.htaccessがあった場合、そちらの設定が優先される。


    • 差分ではなく、全体の設定ごと優先される




  • クエリパラメーターで判定したい



    • {QUERY_STRING} つかう