バリューサーバーで個別ページへの301リダイレクトが失敗する原因は「.htaccess」文字コード
記事公開日:2017年3月26日
本日バリューサーバーのサイトを別サーバーへ引越しさせた。
しかしなぜか個別ページから個別ページへの301リダイレクトが上手く行かない。バリューサーバーだからか?
普段通りに「.htaccess」を記述しているにもかかわらずだ。(-_-;)
Sponsored Link
Redirect 301 /●●●/△△△.html(旧サイト個別) https://warashibe76.com/◆◆◆/○○○/(新サイト個別)
実際はトップページのみ問題なく転送されるが、せっかく検索エンジンで上位表示されている個別ページの評価がこのままじゃ上手く引き継がれない。。
そんなワケで、なんやかんやで約8時間近くかかったけどようやく原因を突き止めた。
いつも最後には原因を発見♪(´∀`*)ウフフ
原因は「.htaccess」をテキストエディタ(TeraPadもしくはメモ帳)で作成する。
その時に文字コードを指定する。俺っちの場合【SHIFT-JIS】になっていたのでこれを【UTF-8N】にすると無事にすべての個別ページが301リダイレクト(転送)出来るようになりました。
下記の参考サイトにで【UTF-8】で上手く行ったようですが俺っちはここでハマってしまいました。
◆【.htaccess】日本語あれこれで301リダイレクトに失敗する場合の対処法(外部リンク)
結果移転元のバリューサーバーでは【UTF-8】では何度やっても個別ページへの転送は無理で【500 Internal Server Error】をはき出します。※なぜかトップページのみOK
それと今回の問題を解決するにあたり新たな学びがあった。上記のサイトで記載されていたリダイレクト前のURL(日本語)はエンコードしないって事を初めて知った。俺っちも筆者と同じくてっきりエンコードするもんやと...
と言うのもエックスサーバーの管理画面から転送させる場合は日本語記入できないからです。
今回日本語URLを「.htaccess」へ直接書き込めることを知りまた経験値がアップ。個人的にはカテゴリーも個別ページURLも完全スラッグ化させ日本語はほとんど使ってないけどどうやらリダイレクト後のURL(日本語)はエンコードする必要があるみたい。
誰かのお役に立てれば幸いです('ω')ノ
コメントフォーム