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にしたい場合は何もなしでよい。
- R:リダイレクト httpステータスを指定できる
-
下位ディレクトリに.htaccessがあった場合、そちらの設定が優先される。
- 差分ではなく、全体の設定ごと優先される
-
クエリパラメーターで判定したい
-
{QUERY_STRING}
つかう
-