昨夜、日本語版WordPressと英語版WordPressをインストールしたので、今日はコンテンツ・ネゴシエーションを設定して、ブラウザの言語設定に応じて適切なページを提示しようという試みです。最初はApacheの設定をしようとしたのですが、よくわからないのでPHPでスクリプトを書きました。その方法について報告します。
まず、読み人知れずな[[content_negotiation:http://ptlis.net/source/php-content-negotiation/%5D%5Dモジュールをダウンロードして ~/lib/php に保存しました。
つぎにPHPのパスに ~/lib/php を追加しました。さくらインターネットの設定によれば、~/www/php.ini が読み込まれるようです。ここに以下のような記述を書きました。
include_path = “.:/php/includes:/home/kwakita/lib/php”
ちょこちょこ実験をしながら以下のようなスクリプトを書いて目的を達成できたような気がします。
include ‘content_negotiation.inc.php’;
$language_array = array(‘type’ => array(‘en’, ‘ja-jp’),
‘app_preference’ => array(1, 0.5));
header(“HTTP/1.1 301 Moved Permanently”);
if (content_negotiation::language_best_negotiation($language_array) == ‘ja-jp’)
{
header(“Location: http://kwakita.sakura.ne.jp/ken/ja”);
} else {
header(“Location: http://kwakita.sakura.ne.jp/ken/en”);
}
ブラウザの言語設定次第で[[このリンク:http://kwakita.sakura.ne.jp/ken/%5D%5Dが%5B%5B日本語のサイト:http://kwakita.sakura.ne.jp/ken/%5D%5Dにも%5B%5B英語のサイト:http://kwakita.sakura.ne.jp/ken/en/%5D%5Dにも誘導します。