日本語のファイル名

ファイル名はSEOを考慮すると日本語で付けた方が良いのだ、日本語のファイル名はUnix上で扱いづらいという欠点がある。そこで、mod_rewriteを利用してマッピングする方法を採用した。この方法だとUnixでは英数字、URLとしては日本語でアクセスすることが出来る。以下、内容証明郵便の作成方法 → write.html というマッピングを行う場合について解説。

1. httpd.conf に以下の行を追加

RewriteEngine on
RewriteLog /var/log/httpd/rewrite.log
RewriteLogLevel 9
RewriteMap naiyo_kanji_ascii txt:/www/app/Naiyo/etc/map_naiyo_kanji_ascii.txt
RewriteRule ^/(.*[^!-~]+.*) /www/app/Naiyo/htdocs/${naiyo_kanji_ascii:$1}.html

2. /www/app/Naiyo/etc/map_naiyo_kanji_ascii.txt に以下の内容を記載。(文字コードutf-8)
内容証明郵便の基礎知識 basis
3. httpd の再起動。
4. http://www.example.com/%e5%86%85%e5%ae%b9%e8%a8%bc%e6%98%8e%e9%83%b5%e4%be%bf%e3%81%ae%e4%bd%9c%e6%88%90%e6%96%b9%e6%b3%95 へアクセスすると write.html の内容が表示される。利用例: http://xn--wtqz6b55qkwkes9bcpi.com/%e5%86%85%e5%ae%b9%e8%a8%bc%e6%98%8e%e9%83%b5%e4%be%bf%e3%81%ae%e4%bd%9c%e6%88%90%e6%96%b9%e6%b3%95