サイト構成
全て XML で書いて変換してやる。日記は今のまま。common.xsl を作り、ヘッダ、ナヴィゲーション、フッタをインクルード。-about.xml というファイルがあったら about.xhtml.ja.u8 とか about.html.ja.u8 を出力する build.rb。こういうファイルを作って適切な .htaccess を置いておけば Apache はちゃんと Content-Type: application/xhtml+xml; charset=utf-8 を送ってくれる。
ブラウザの Accept ヘッダが最初に application/xml と text/xml を持ってきているのは何故? 自分の環境だけかもしれないけど。
type-map を使うのもいいかも。自動的に生成してやればいいだけだし。
URI: about URI: about.xhtml.ja.u8 Content-type: application/xhtml+xml; qs=0.9 Content-language: ja URI: about.html.ja.u8 Content-type: text/html; qs=0.7 Content-language: ja URI: about.xml Content-type: application/xml; qs=0.5 Content-language: ja
こんなの (about.var) を作ってやる。Accept の q の値とこのファイルの qs の値をそれぞれのメディアタイプで掛け合わせて最大になったメディアタイプが自動的に Apache に選ばれる。MultiViews も併用できるから作れるのだけ作ればいいかも。
Accept ヘッダが text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5 のとき上記ファイルの about をリクエストすると application/xhtml+xml=0.81, text/html=0.63, application/xml=0.45 で about.xhtml.ja.u8 が選択される。about.var がない(上の記述がない)場合で Accept の q が同じ場合はたぶん先頭から順に選択されるので application/xml になる about.xml が選択される。
関連エントリー
- Accept によるネゴシエーション実装 Accept ヘッダによるコンテントネゴシエーションを実装した。昨日 UA による振り分けでごちゃったばっかりだけど、そいつらはコメントアウ...
- 台風・雨・ネゴシエーション どっつぃさんに IE でダウンロードになるぜ的指摘を受けたので思い返してみると application/xhtml+xml を受け入れるよう...
- application/xhtml+xml; charset=UTF-8 実は mod_mime のおかげで filename.xhtml.utf8, filename.html.utf8 とか作って .htacc...
- application/xhtml+xml; charset=UTF-8 実は mod_mime のおかげで filename.xhtml.utf8, filename.html.utf8 とか作って .htacc...
- Google の検索結果がおかしい スクリプト変更以降に再インデックスされた部分がのきなみ「ファイルタイプ:不明」で文字化けする。原因がよくわからない。 とりあえず UA に ...