日本語文字列を含むURLのRewrite

Apacheで.htaccessを使って日本語文字列を含むURLをリダイレクトしたい場合は次のような方法があるみたいです。

直接日本語文字列で書く方法

リダイレクトしたい文字列をそのまま日本語で書きます。
.htaccessのファイルはUTF-8にしておくのがよいと思います。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/日本語/$ /英語/ [R=301,L]
</IfModule>

URLエンコードする方法

\記号によるエスケープとNEオプションを使って次のような感じで記述します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/日本語/$ /\%E8\%8B\%B1\%E8\%AA\%9E/ [NE,R=301,L]
</IfModule>

どちらの方法を使っても結果は同じですので、使いやす方を試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です