.htaccess記述メモ|1つのドメインで【301リダイレクト】を《複数》に分ける
はじめに。
301リダイレクトの意味は知ってますが、今回はとてもややこしくて自分でも良く理解出来ませんのでメモとして残します。
そもそも301リダイレクトとは?
旧ページA → 新ページAに自動で飛ばす事ですが、301の場合は旧ページの検索エンジン評価を引き継いだ状態で転送されます。
例えば旧ページが10年間使われていたURLだとしたら当然10年分の検索エンジン評価が付いています。新ページを作り、何もしなければ当然旧ページの評価を引き継ぐ事は無いので、0からの評価となり検索順位に多く影響してきます。
301の他に302などもありますが、引き継ぎするなら301です。
*他、細かい事はここは省きますので、興味ある方は「301 302 リダイレクト 違い」等で検索して調べてみて下さい。
雑記ブログの方が本家よりSEOが強くなった。
これまで長く使っていたドメイン「katori.me」は公式用として2010年より使用してるホームページ制作用のドメインです。で、同じく使っていた「katori.me/blog」は2018年10月から本業とは切り離した雑記ブログとして使っていました。
そしてありがたい事にブログのPV数は約月間10万ページビュー数規模になった事で、ドメインそのものである「katori.me」での「ホームページ制作」としての検索が弱くなってしまいました。つまり雑記ブログの方が本家よりもSE0が強くなってまったのです。
*雑記ブログ=1つに特化した内容では無く多ジャンル記事を取り扱うblog。
今回301リダイレクトでやりたかった事。
https://【katori.me】 → https://【www.katori.co.jp】 (本業用+日報ブログ)
https://【katori.me】/blog → 【https://katori.blog】(雑記ブログ専用)
同じドメイン【katori.me】をそれぞれ違うドメイン(URL)に301リダイレクトする事が今回やりたい事でした。
アフィリエイトのイベントで知り合ったサーバーに詳しい有名アフェリエイターさんに301リダイレクトを依頼。
ご縁があり、親切にも対応してくれる方と出会う事ができましたのでその方に上記301リダイレクトを依頼して設定して頂きました。
私も簡単な301リダイレクトなら出来るのですが..ただ、今回は同ドメインを2つに分ける。と言うのが調べる気にもならいくらい面倒になり、専門の方にお願いした方が安全だと判断しました。
無事完成!が!私の伝え方が悪く301リダイレクトがちょっと違う感じになってしまった。
やりたかったのは
A. https://【katori.me】 → https://www.katori.co.jp (本業用+日報ブログ)
B. https://【katori.me】/blog → https://katori.blog(雑記ブログ専用)
ですが、AはOKでした。BもOKなのですが、△と言うのが正しいですかね。と、言うのは、
例)
https://katori.me/blog/111111
↓
https://katori.blog/111111
としたかったのですが、
例)
https://katori.me/blog/111111
↓
C. https://katori.blog
で301リダイレクトしてしまう。blog/の後ろが何であろうが全てCに行ってしまう。
勉強がてら、自分で.htaccessを見たのですがちょっとさすがに解らず…
ちょうど別件でお仕事をしてるwebエンジニアさんがいたので、さりげなく上記を正しくする.htaccessを聞いてみる事にしました。
別のwebエンジニアさんに301リダイレクトと.htaccessをさりげなく聞いてみた。
カトリ:
〇〇さん
カトリです。
お疲れ様です。
先ほどは(仕事の件)お電話にて失礼しました。
で301リダイレクトの件ですが宜しくお願いします。
ざっと説明すると
ーーー
https://katori.me
↓
https://www.katori.co.jp
へ301リダイレクト済み
ーーー
https://katori.me/blog/
↓
https://katori.blog
へ301リダイレクト済み
ーーー
修正したい事
現在(例:旧個別記事のURLをクリックすると)
https://katori.me/blog/2019/03/soba-1010takeyabu/
↓
https://www.katori.co.jp
にリダイレクトしてしまう。
これを
https://katori.me/blog/2019/03/soba-1010takeyabu/
(ちなみに、ここ千住にあるメチャ美味い蕎麦屋です!)
↓
https://katori.blog/2019/03/soba-1010takeyabu/
にリダイレクトしたい。
ーーー
宜しくお願いします。
(不明点等あればご連絡ください^^;)
webエンジニアさん:
カトリさん
お疲れさまです。
〇〇です。
ファイル確認しました。
パッと見た感じ、本来やりたい設定にしているようですが、それがうまく動いていないように見えます。
ちょっと検証が必要なのでお時間ください。
ちなみに、このリダイレクトになってから、SEO的に何かマイナスな変化って起きていないのでしょうか?
PS.この蕎麦屋美味しそうですね!蕎麦湯が濃いところがポイント高いです。
でも改めて、一店舗のレビューでここまで詳細に書けるカトリさんの力量に感服しました。
とりいそぎで失礼いたします。
<その後>
カトリさん
ファイルいただいた時はサラッとしか見ていなかったのですが、改めて見るといろいろおかしいですね(すぐ気づけずすみません)。
2行目の
RewriteRule ^(.*)$ https://katori.co.jp/ [R=301,L]
ここで、あらゆるページへのアクセスを全て https://katori.co.jp/ へ飛ばしてしまっているので、これ以降の記載は全て無意味になっているように見えます。
あと、www 無しで記述されていますが、実際のページは www 有りです。
このあたりも考慮されているのかどうか。
RewriteRule ^(.*)$ https://katori.me$1 [L,R=301]
これはそもそも意味ないですね、katori.me サイトでの話なので。以前からあった記述が残っているのでは?
移行以前の .htaccess ファイルってありますか?
あとRewriteRule と RedirectMatch ってほぼ同じなのですが、新版と旧版みたいなもので、混在しているのはちょっと違和感あります。
などなどあるので、改めて修正しますので、サーバの情報いただければと思います。
<さらにその後>
カトリさん
僕も若干ハマってしまったので時間がかかりました。
修正できました。おそらくこれで正解かと。
※ブラウザがキャッシュの影響で古い動きを覚えている可能性があるので、キャシュクリアするか、プライベートウィンドウで確認してみてください。
https://katori.me/
↓
https://www.katori.co.jp/
できてます。
https://katori.me/aaa/bbb/ccc/
↓
https://www.katori.co.jp/
[/blog]ディレクトリ以外のディレクトリはいかなるページでも co.jp のトップページにリダイレクト
https://katori.me/blog/
↓
https://katori.blog/
blogトップはblogトップへ
https://katori.me/blog/2019/03/soba-1010takeyabu/
blog以下は、同じULRで301リダイレクト↓
https://katori.blog/2019/03/soba-1010takeyabu/
できました!
https://katori.me/blog/aaa/bbb/ccc
↓
https://katori.blog/aaa/bbb/ccc
これは移行前も移行後も存在しないため404で仕方ないかと。
それ以外も問題ないか確認してみてください。僕もちょっと不安なので。
遅くなってしまったのでその他細かいお話についてはまた明日。。。
との事で、当初やりたかった正しい301リダクレクトを無事に設定する事が出来ました。
301リダクレクト用.htaccess 見比べ
*転送元であるサーバー内【katori.me】に.htaccessを設置として
<元版>アフィリエイターさんの
301リダイレクト .htaccess
↓
RewriteEngine on
RewriteRule ^(.*)$ https://katori.co.jp/ [R=301,L]
RewriteRule ^index.html$ https://katori.co.jp/ [R=301,L]
RewriteBase /
RewriteCond %{HTTP_HOST} ^katori.me [NC]
RewriteRule ^(.*)$ https://katori.me$1 [L,R=301]
RedirectMatch 301 ^/blog/(.*)$ https://katori.blog/$1
<新版>webエンジニアさんの
301リダイレクト .htaccess
↓
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !(^/blog/)
RewriteRule ^(.*)$ https://www.katori.co.jp/ [R=301,L]
RewriteCond %{REQUEST_URI} ^/blog/
RewriteRule ^blog/(.*)$ https://katori.blog/$1 [R=301,L]
</IfModule>
私には何のこっちゃか…
今回の301リダイレクトは、伝え方が難しかった。自分も反省&勉強に。
これがクライアントワークで、後々に違う形で301リダイレクトされていた!となったら大変な事でしたので、私も今回の301リダクレクトで【やりたい事】をもっとしっかり伝えていれば良かったと反省しました。そしてとても勉強になりました。
元版のアフィエリターさんには、301リダイレクトの報酬として【蕎麦】をご馳走したのですが、新版のwebエンジニアさんにも【うまい飯】をご馳走する事で対応してもらいました。
同じように301リダクレクト.htaccessで、やり方が解らず困ってる人の参考になれば幸いです。
是非うまく言ったら【美味しい飯】ご馳走して下さい。
以上、本日の日報を終わります。
\創業20年の信頼と実績/ 《独立 開業 起業》 個人事業向け ホームページ制作ならお任せ下さい。 ロゴ・名刺もセットで対応致します。良心価格で制作後の《サポート》もしっかり対応! -東京都荒川区南千住- (株)カトリデザイン事務所 https://www.katori.co.jp → お問い合わせ