どうも〜、最近になってワードプレスで複数のブログを1つのブログにリダイレクトさせたムネです。
リダイレクトとは何か!を説明するのはもうやぶさかですので、控えます。
サーバー側での.htaccessのコードが打っても打っても301リダイレクトがうまくされません。
理由としては日本語を含むURLだからでした。
同じく日本語を含んでのURLで301リダイレクトを試みて失敗した人がいると思いますので、備忘録として残しておきます。
日本語のURLのリダイレクトをする人
日本語のURLのリダイレクトをする予定の人
Contents
301リダイレクトをする理由、原因
私の場合は、
日本語を含むURLをエンコードに変更する
https://blog.kazumune.com/category/review/game/メタルマックスxenoゼノ
と言うリンクを
https://blog.kazumune.com/category/game/metalmaxxeno
に流す必要がありました。
naverまとめにカテゴリーをまとめてもらっていたのですが、(もちろん無断でね!ニコニコ)カテゴリーを消去してしまったので、リンクが消えてしまい、まとめからのリンクが届いておりませんでした。
結果、1日でページが見当たりません。が400アクセスありまして、これは治さないと!となりましてリダイレクトすることになりました。
日本語URLのリダイレクトの手順は大きく分けて3つだけ
- 日本語をエンコードに変更
- エンコードを正しく修正
- 念のために読み込みエラー対策
そして貼り付けるだけですね。
手順を細かく解説します。
日本語を含むURLをエンコードに変更する
日本語を含むURLをエンコードに変更するのは、
自分の日本語を含んだURLを検索画面やtextpadに貼り付けると自動的に変更させると思います。
私の場合は「https://blog.kazumune.com/category/review/game/メタルマックスxenoゼノ」
をGoogle検索BOXに入れると変更される。
されない場合は、日本語URLをエンコードに変更されるウェブサービスを使うなどして変更してください。
http://tech-unlimited.com/urlencode.html
↑とか
日本語URLを変更すると
変更前
[codebox title="コード"]
https://blog.kazumune.com/category/review/game/メタルマックスxenoゼノ
↓
変更後
https://blog.kazumune.com/category/review/game/%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9xeno%E3%82%BC%E3%83%8E
こうなります。
エンコードを修正する
正しい301リダイレクトコード
先に正しいコードを見ておいてください。
どこが自分のと違うのかわかるかと思います。
正しいコード
RewriteRule ^category/review/game/\xE3\x83\xA1\xE3\x82\xBF\xE3\x83\xAB\xE3\x83\x9E\xE3\x83\x83\xE3\x82\xAF\xE3\x82\xB9xeno\xE3\x82\xBC\xE3\x83\x8E https://blog.kazumune.com/category/game/metalmaxxeno [R=301,NE,L]
です。
行った流れ
301リダイレクト文を打てば問題ないと思ったのですが、「%」が入っているとうまく読み込みがされないようで、リダイレクトができません。
%が正しく読まれない可能性があるとのことを記事で見つけました。
どこかのwebマーケティングの会社の記事でしたとても役に立ちました。ありがとうございます。
結論。[%]は[\x]に変更をしなければならないとのこと。
変更前
category/review/game/%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9xeno%E3%82%BC%E3%83%8E
変更後
category/review/game/\xE3\x83\xA1\xE3\x82\xBF\xE3\x83\xAB\xE3\x83\x9E\xE3\x83\x83\xE3\x82\xAF\xE3\x82\xB9xeno\xE3\x82\xBC\xE3\x83\x8E
この文章を通常の301リダイレクト(人によってコード、文章変わりますが)
RewriteEngine on
RewriteRule ^category/review/game/\xE3\x83\xA1\xE3\x82\xBF\xE3\x83\xAB\xE3\x83\x9E\xE3\x83\x83\xE3\x82\xAF\xE3\x82\xB9xeno\xE3\x82\xBC\xE3\x83\x8E https://blog.kazumune.com/category/game/metalmaxxeno [R=301,L]
で設定完了です。
私の場合、念のために手順3で書いた読み込みエラー対策で、「/」や「-」をつかう際には「NE」をつけています。
NEは読み込まれない文字をそのまま読み込んでもらう時に使います。以前複数記事をまとめる時にも使っていました。

結果
RewriteRule ^category/review/game/\xE3\x83\xA1\xE3\x82\xBF\xE3\x83\xAB\xE3\x83\x9E\xE3\x83\x83\xE3\x82\xAF\xE3\x82\xB9xeno\xE3\x82\xBC\xE3\x83\x8E https://blog.kazumune.com/category/game/metalmaxxeno [R=301,NE,L]
こうなりました。
PS.ちゃんとリダイレクトされるようになりました( ´ ▽ ` )ノよかったよかった
.htaccessに301リダイレクトコードを入力する際の注意点
設定がおかしいと、505エラーや504エラーなどサイト自体が見れなくなるエラーが起こる可能性もあります。
誰も見ていない時間帯にコードを打ち込まないと、規模が小さくとも大事な読者、ユーザーがワードプレスのサイトに入れないと言う悲劇が起こるんです。
一度見れないとなれば、また来てくれる可能性もあるかもしれませんが、嫌ですよね。
なので、忘れないことは、人が見ない時間帯に設定をすることです。
それと、基本かもしれませんが、元のコードをコピーする、サイトのバックアップとってからいじるは忘れずに!
悲劇が起きてからでは遅いですよ(経験者は語る)
まとめ
日本語でURLを書いている人もいるかと思います。
私の場合は入力間違いでカテゴリー名が日本語になってしまっていましたが、必要があり、リダイレクトをする人もいるかもしれませんね。
ぜひワードプレスで複数運営や、一つに統合するなどで、リダイレクトをする際には参考にしてください。
まとめ
日本語リダイレクトはエンコードに変更する
エンコードの[%]を[\x]に変更する
念のためにリダイレクトコードに[NE]を入れる
タイミングは人が見ない時間を選ぶ
バックアップとコピーを忘れずに
以上です!
読んでいただきありがとうございます〜
おしまい