Experiment 09
.htaccess リダイレクト生成
サイトのリニューアルやドメイン移転で使う .htaccess のリダイレクト設定を生成します。www統一・HTTPS化・ディレクトリ移動・URLの1対1転送に対応し、301と302の使い分けも示します。
Type
Input
どちらに揃えますか
転送のしかた
転送の種類
301 はブラウザに期限なしで記憶されます。設定を消しても転送され続けるため、 あとで戻す可能性があるなら 302 にしてください。
.htaccess
置き場所はドキュメントルート直下です。既存の .htaccess に足すときは、
<IfModule> の中身だけを既存の RewriteEngine On の後ろに入れてください。
使い方とメモ
- 生成したコードは、ドキュメントルート直下の
.htaccessに貼ってください。すでにRewriteEngine Onが書いてあるファイルなら、<IfModule>の中身だけを既存の記述の後ろに足します。 - 301 と 302 は使い分けてください。301(恒久的)はブラウザに期限なしでキャッシュされ、設定を消しても転送され続けます。あとで戻す可能性があるなら302にしてください。
- 検索順位を引き継ぎたい本番の移転は301です。302だと評価が移りません。迷ったら302で動作を確かめてから、301に変えるのが安全です。
RewriteCond %{HTTP_HOST}でホスト名を限定しているのは、転送が無限ループするのを防ぐためです。条件を消さないでください。- HTTPS化のルールに
X-Forwarded-Protoの条件を入れているのは、CDNやロードバランサの後ろにいる場合の対策です。これがないと、通信自体はHTTPSなのに転送を繰り返すことがあります。 - 反映されないときは、
mod_rewriteが有効か、AllowOverrideで.htaccessが許可されているかを確認してください。 - ブラウザのキャッシュが残っていると、直したのに古い転送のままに見えます。シークレットウィンドウで確認するのが確実です。
For your business
こういうものを、御社向けにも作れます。
ちょっとした業務ツールから、予約システムのような本格的なWebシステムまで。
「こんなこと、できる?」という段階でも、お気軽にご相談ください。