工作好きな情報系の雑記

.htaccessで301リダイレクトするとき

.htaccessを使って301リダイレクトするとき。

これが上手く動いた。
最後のRewriteRuleについていつも忘れてしまうのでメモしておくが、$1には^(.*)のパターンにマッチした括弧内の文字列が入る。

例えば「http://www.url.com/abc/def.html」とアクセスされたとする。
RewriteRuleには「abc/def.html」という文字列が渡される仕様になっているので、パターンにマッチするのは「abc/def.html」。
だからこのとき$1に入るのは「abc/def.html」であり、最終的なURLは「https://url.com/abc/def.html」となる。
RewriteRuleの仕様について知っていないと「^(.*)」と指定するのは変な感じがするが、これでよい。

例えば「http://○○○.com/hoge.html」にアクセスがあった場合、RewriteRuleのパターン部分には「hoge.html」が渡ります。
http://ysklog.net/mod-rewrite/regular-expression.html

ちなみにロリポップサーバーの時は、.htaccessのパーミッション設定は604が推奨らしい。

サイトリニューアル時には必ず設定しておきたい、301リダイレクトの方法について紹介します。
.htaccessを使った301リダイレクト記述方法 - 
モバイルバージョンを終了