mod_rewrite日本語URLリダイレクト
日本語URLをリダイレクトする際の.htaccessへの記述方法です。
ここではmod_rewriteを利用した日本語URLの
日本語URLの転送パターンについてご紹介します。
mod_rewrite日本語URLリダイレクト
mod_rewriteを利用した日本語URLリダイレクトの、
それぞれのパターンについて記述方法と実際の実例についてご紹介します。
ここでは個別記事のパーマリンクURLで、
投稿タイトル(日本語)を利用した場合の転送例を例にご紹介します。
転送元URLと転送先URLのマッピング
以下のURLマッピングで検証を行います。
環境
本投稿の検証環境は以下の環境です。
- 転送元: XSERVER(.htaccess UTF-8 BOMなし)
- 転送先: Netowl minibird
Web上では転送元URLに日本語URLが使用されている場合には、
URLエンコード文字列でマルチバイト文字を記述するようにとの記載を見かけますが、
当環境においては、日本語文字列をそのまま記載した状態で、
問題なく転送を行うことができています。
検証環境の.htaccessの実ファイル
エラーが発生しました。後でもう一度やり直してください。 |
上記の設定にて検証を行っています。
英字⇒英字
英字URLから英字URLへの転送は通常通りです。 .htaccessには以下のように記載しています。
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule mod_rewrite-entoen/ http://url-post.rensrv.com/mod_rewrite-entoen/ [R=302,L] </IfModule> |
転送の確認
以下URLにアクセスすることで転送の確認が行えます。
以下へ転送されます。
http://url-post.rensrv.com/mod_rewrite-entoen/
英字⇒日本語
英字URLから日本語URLへの転送例です。
.htaccessには以下のように記載しています。
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule mod_rewrite-entojp/ http://url-post.rensrv.com/リライト英⇒日/ [R=302,L] </IfModule> |
転送の確認
以下URLにアクセスすることで転送の確認が行えます。
以下へ転送されます。
http://url-post.rensrv.com/リライト英⇒日/
日本語⇒英字
日本語URLから英字URLへの転送例です。
.htaccessには以下のように記載しています。
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule リライト日⇒英/ http://url-post.rensrv.com/mod_rewrite-jptoen/ [R=302,L] </IfModule> |
転送の確認
以下URLにアクセスすることで転送の確認が行えます。
以下へ転送されます。
http://url-post.rensrv.com/mod_rewrite-jptoen/
日本語⇒日本語
日本語URLから日本語URLへの転送例です。
.htaccessには以下のように記載しています。
1 2 3 4 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule リライト日⇒日/ http://url-post.rensrv.com/リライト日⇒日/ [R=302,L] </IfModule> |
転送の確認
以下URLにアクセスすることで転送の確認が行えます。
以下へ転送されます。
http://url-post.rensrv.com/リライト日⇒日/
注意事項
日本語URlを含むURL転送の必要がある場合には、
.htaccessの編集・保存に際しては「UTF-8 BOMなし」にて保存するようにします。
SJISなどで保存している場合にはマルチバイト文字が正しく認識されません。
さいごに
Redirectディレクティブを利用した日本語URLの転送では、
.htaccessにURLを転送元・転送先ともにそのまま記述すれば転送されます。
Apache,Apache Hadoop,Apache Subversion,Hadoop,HDFS,HBase,Hive,Mahout,Pigは、
Apache Software Foundationの米国およびその他の国における登録商標または商標です。
ApacheソフトウェアはApache Software License (原文)および
Apache License, 2.0 (原文)に基づきOpen Source Initiativeに承認されライセンスされています。
公開日: