ホームページリニューアル後、不在となったページ(404)が出てくるケースは珍しくありませんが、その際の対処法は「変更後のURLへ転送するための処理(301リダイレクト)をする」これが一般的です。
この転送するための処理(301リダイレクト)の詳細については、既にネット上で多く紹介されていますので割愛します。
本記事では、Xserverで日本語URLを301リダイレクトさせる方法を紹介します。
目次
.htaccessファイルを編集する方法は3パターン
Xserverにはサーバーパネル上に「サイト転送設定」という機能がありますが、日本語URLの場合だと、この機能からだと設定はできません。
出典:エックスサーバー
Xserverで日本語URLを301リダイレクトさせるには、
- Xserverサーバーパネル上の「.htaccess編集」から.htaccessファイルを編集する
- Xserverファイルマネージャから.htaccessファイルを編集する
- FTP接続から.htaccessファイルを編集(上書き)する
この3パターンになります。
日本語URLを301リダイレクトさせる記述
編集する方法は、どのパターンでも構いませんが、日本語URLを301リダイレクトさせる記述には、少々癖があります。
それはXserverのホームページサーバはApacheと呼ばれるWebサーバソフトで構築されていますが、このApacheは「%」を「x」に自動的に変換するためです。
日本語URLは「URLエンコーディング」という特殊な文字列に変換しておりますが、この状態でそのまま301リダイレクト記述しても、URLにある「%」をApacheが「x」に自動変換し、リダイレクトが失敗します。
URLエンコーディング前:
https://cocomiru.com/会社概要/
URLエンコーディング後:
https://cocomiru.com/%E4%BC%9A%E7%A4%BE%E6%A6%82%E8%A6%81/
このURL(URLエンコーディング後)だと「%」をApacheが「x」に自動変換し、リダイレクトが失敗
記述方法(エスケープシーケンス)
Apacheに正しい日本語URLを伝えるための記述方法(エスケープシーケンス)はシンプルです。
「%」の部分を「\x」に置き換えるだけで、Apacheは「URLエンコーディング」された文字列を認識するようになります。
たとえば下記の日本語URLをトップページへ移動する場合、
https://cocomiru.com/会社概要/
URLエンコーディング後:
https://cocomiru.com/%E4%BC%9A%E7%A4%BE%E6%A6%82%E8%A6%81/
「%」の部分を「\x」に置き換えて、
\xE4\xBC\x9A\xE7\xA4\xBE\xE6\xA6\x82\xE8\xA6\x81/
301リダイレクト記述を.htaccessファイルの先頭に挿入すれば完了です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^\xE4\xBC\x9A\xE7\xA4\xBE\xE6\xA6\x82\xE8\xA6\x81/ https://cocomiru.com/ [R=301,L]
</IfModule>
ココミルならお手頃価格でホームページを制作
以上がXserverで日本語URLを301リダイレクトさせる方法となります。
なお本記事の執筆は、ホームページ作成者となります。
ココミルが提供するホームページ制作は「集客に繋がります」などの安易な謳い文句を言いません。
まずは事業主の信頼を上げることを目的としたホームページをお手頃価格で提供しております。
また、本記事で取り上げたホームページリニューアル後のトラブルサポートもしておりますので、ご用命の際はお問い合わせくださいませ。