日本語URLをドメイン転送するのが大変だった話

トラブル解決/ドメイン・メール/
  1. ホーム
  2. トラブル解決
  3. 日本語URLをドメイン転送するのが大変だった話

さて、この記事は、
前回の

「さくらサーバーで、初期ドメインから
独自ドメインに転送する方法 」の続きです。

 

サイトをお引越しするときに、アドレスの
転送設定をした、というお話でした。

今回のケースはさらに大変で
元々のブログに「日本語アドレス」を使っていたため
転送設定がすごいことになりました、という余談です。

アドレスの転送や、日本語アドレスの変換について
詳しく知りたい方はどうぞ^^

 

https://webmariage.com/今日のあびちゃんの寝姿がひどい

このブログのアドレスをクリックしたら

https://wp-firststep.com/?p=123

に移動するように、設定しよう、という話です。

 

 

前回までの転送設定で、

https://webmariage.com/今日のあびちゃんの寝姿がひどい
というアドレスをクリックしたら

https://wp-firststep.com/今日のあびちゃんの寝姿がひどい

に転送されるようになっています。

https://wp-firststep.com/には、
「今日のあびちゃんの寝姿がひどい」というページはないので
このままでは、自動的にトップページに移動してしまいます。

 

なので、次は

https://wp-firststep.com/今日のあびちゃんの寝姿がひどい
というアドレスにアクセスがあったら

https://wp-firststep.com/?p=123
2段階に転送する設定にしなくてはならないのですが、

転送を記述する.htaccessというファイルには
日本語アドレスは書けないのです。

そこで・・

日本語のアドレスをエンコードする

本当は、インターネット上では
「半角英数字」と一部の記号しか使えないようになっています。

日本語のアドレスっていうのは、
日本語に見えていても、本当は記号で書いてあります。
ブラウザがその記号を読み取って、日本語で表示してくれているだけなんですよ。

たとえば「あびちゃんの寝姿がひどい」という日本語アドレスは

「%E3%81%82%E3%81%B3%E3%81%A1%E3%82%83%E3%82%93%E3%81%AE%E5%AF%9D%E5%A7%BF%E3%81%8C%E3%81%B2%E3%81%A9%E3%81%84」

という記号になっています。

 

そのため、転送する時は
日本語アドレスを、記号に変換して、

https://wp-firststep.com/%E3%81%82%E3%81%B3%E3%81%A1%E3%82%83%E3%82%93%E3%81%AE%E5%AF%9D%E5%A7%BF%E3%81%8C%E3%81%B2%E3%81%A9%E3%81%84

https://wp-firststep.com/?p=123

に転送してね、と書かなければなりませんでした。

 

 

今回お世話になったサイトはこちらです
 ↓ ↓

URLエンコード・デコード
ttps://tech-unlimited.com/urlencode.html

 

日本語を入力して「変換する」ボタンを押すだけで
日本語URLを記号に置き換えてくれます。

とっても便利です、本当にありがとうございます。

これでOK!!と思いきや、さらに問題発生です。

 

「%」を「\x」に置き換える

サーバーでは「Apache(アパッチ)」という
サーバーを動かすソフトが使われているのですが、

このアパッチくん、なぜかは知りませんが「%」を見ると
「x」だよね?と置き換えてしまう習性があるそうで「%」が使えないんです。

日本語アドレスの記号は%だらけです・・・

 

うーん・・こんな転送はできないんだろうか、と悩みましたが
「% 」を「\x」に置き換えれば良いのだということがわかりました!

なんとかなるものですね^^

 

私はエクセルの置換機能を使いました。

 

.htaccessの転送設定

これでアドレスができました!

https://wp-firststep.com/\xE3\x81\x82\xE3\x81\xB3\xE3\x81\xA1\xE3\x82\x83\xE3\x82\x93\xE3\x81\xAE\xE5\xAF\x9D\xE5\xA7\xBF\xE3\x81\x8C\xE3\x81\xB2\xE3\x81\xA9\xE3\x81\x84

ながーい(笑)

 

では、転送設定「.htaccess」には、このように記述します。

RewriteRule ^転送元アドレス/ 転送先アドレス/?p=22/ [R=301,L]

※転送元アドレスは「^」マークで
「https://wp-firststep.com/」部分が省略できます。

 

というわけで

https://webmariage.com/今日のあびちゃんの寝姿がひどい

このブログのアドレスをクリックしたら

https://wp-firststep.com/?p=123

に移動するためには

 

RewriteRule ^\xE3\x81\x82\xE3\x81\xB3\xE3\x81\xA1\xE3\x82\x83\xE3\x82\x93\xE3\x81\xAE\xE5\xAF\x9D\xE5\xA7\xBF\xE3\x81\x8C\xE3\x81\xB2\xE3\x81\xA9\xE3\x81\x84/ https://wp-firststep.com/?p=123/ [R=301,L]

とかけば良いのでした。

 

これをね、100件以上・・・・(笑)

大変だったけど、解決してよかったです。
いつか誰かの参考になったら嬉しいです。