同僚に教えてもらったことを糸口に, ウェブサイトの日本語と英語となど言語の切り替えについて調べた.

言語やエンコーディングなどの処理は, mod_mimeが担当. 言語, 文字セットと拡張子との対応は, MacのApache2の場合/etc/httpd/extra/httpd-languages.confに定義されていて,特に設定の必要はない. もしhttpd.confで読み込みがコメントアウトされている場合は, コメントアウトを外す. またOptionsにMultiviewsが必要なのでうまくいかないときは確認する.

順序は何でもよさそうなのだが, MacのApache2では, ja.htmlではうまくいかずhtml.jaだとうまくいった

Safariの場合, ブラウザ自体の言語設定はなく, システム環境設定の「言語とテキスト」で設定. Safariを再起動すると有効になる.

2013/04/01追記

DirectoryIndexをindexとするとhtml.jaでもうまくいく.DirectoryIndexがindex.htmlだとindex.html.en, index.html.fr, index.html.jaから選ばれ,index.ja.htmlは対象にならないためうまくいかなかった.

2013/04/02追記

Lion Serverは複数のサイトをホストできるようになっている.デフォルトのサイトの設定ファイルは/etc/apache2/sites/0000any_80.confで,こちらにDirectoryIndexが指定されているので,ここを直さないと403 (Forbidden) エラーが発生する.