Hatena::ブログ(Diary)

うまい棒blog このページをアンテナに追加 RSSフィード Twitter

2010-08-16

apache + subversionのwebdav上のhtml/textファイルを正しく開く方法

思いつきエントリで。リポジトリファイルwebから直接参照したい場合に。

通常のsubversionの設定だと、index.html とかのファイルアクセスしてもContent-typeがplain/textなのでhtmlソースが表示される。また、ただのテキストな設定ファイルでもエンコードを指定できないので文字化けする(かも?)。なので、例えばテキストは全部UTF8で書いている場合は

<Location /svn >
  DAV svn
  ## その他 authzとかの設定
</Location>

## 拡張子 .htmlはContent-typeをtext/htmlに
<LocationMatch ^/svn/.*\.html>
  ForceType text/html
</LocationMatch>

## 拡張子 .html と directory 以外のファイルはUTF-8なtext/plainに設定
<LocationMatch ^/svn/(?!.*(?:\.html$|/$)).+>
  Header set Content-type "text/plain; charset=UTF-8"
</LocationMatch>

とかすればいけるんじゃないかとか思った。実際、とりあえずは思い通りに動いている。

"text/plain; charset=UTF-8" にするのは正規表現の否定先読みを使って、.html と directory は除外で(directoryにアクセスすると、ファイル一覧を表示するhtmlを表示するため)。


追記

ぐぐったら、subversion属性mime-typeを設定できるらしいw こっちが王道かー。ま、でも個々の属性設定するの何か面倒だわーって場合はapacheの設定のが楽だわね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hogem/20100816/1281969257
リンク元