.htaccessを使って301リダイレクトするとき。
1 2 3 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.url\.com)(:80)? [NC] RewriteRule ^(.*) https://url.com/$1 [R=301,L] |
これが上手く動いた。
最後の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リダイレクト記述方法 - |