[an error occurred while processing this directive]
xrea ads

lf : blog 2005/03

Home >> blog >> 2005/03

2005/03/29

ディレクトリをファイル扱いにする

スラッシュで終わる URL を叩いた際に表示されるリソースの実体は、 DirectoryIndex や Indexes とかの設定にも拠るが、大体そのディレクトリ内の index.html 。但し URL の末尾はスラッシュのままで index.html が付け加えられる訳ではない。なんだかとっても中途半端なディレクトリとファイルの同一視は気持ちが悪い。なら徹底的に同一視してやろうという試み。

色々方法はあるだろうけど ( ディレクトリと同一階層にある同名のファイルにリダイレクトさせるとか ) 、今回のは通常、末尾スラッシュの URL から末尾のスラッシュを取り除いた上で index.html を表示させるといった感じ。でもって XREA サーバーでの方法。他のサーバーなら他の方法もあります。

mod_rewrite を使う訳ですが、自分で挑んだ所、てんで駄目でした。なので IRC で色々ご迷惑おかけしながら出来るようにしてもらいました。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ /$1/index.html [L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)/$ /$1 [R=permanent]

末尾がスラッシュ ( http://hoge.com/blog/ ) だった場合アドレスは http://hoge.com/blog になり、実際に表示されるリソースは http://hoge.com/blog/index.html となる。

こうするとディレクトリにアクセスするという概念が使えなくなる。どういう事かと言えば所謂ディレクトリ一覧が表示できなくなる。 index.html が無い場合は404なりのエラー表示になる。これを弊害と取るかどうかは一覧表示に依存する場合に拠る所が大きいと思うが、弊害と言える事は他にもある。 index.html に限るが相対パスが通常と異なる。 http://hoge.com/blog は実際には http://hoge.com/blog/index.html なので http://hoge.com/blog/2005.html へのリンクを相対パスで書く場合 <a href="2005.html"> と書きたい所だがこれは間違い。実際にジャンプする先は http://hoge.com/2005.html となる。実際の階層よりも index.html は一階層上にあると考えなければならない。なので http:// もしくは / から始まる絶対パスならば何の問題もない。全て絶対パスで記述というのはストリクターチックで良いかも知れないが他所のスクリプトなんかを使う時には結構な覚悟と改造が必要になるかもしれない。後、気にする事はないかもしれないが XREA に標準装備のアクセス解析がよくわからんが機能しない。笑った。

とまぁお願いしてやってもらっといて何なんだけどこれは良くないかもしれない。ディレクトリとファイルの中途半端な同一視が気持ち悪いと言うなら完全に同一視するんではなく完全に別物扱いにした方がよさそう。 http://hoge.com/blog/ なら http://hoge.com/blog/index.html といった具合。一覧表示を許可している場合のみ一覧表示、それ以外は末尾に index.html を追加、若しくはディレクトリと同一階層の同名ファイルにリダイレクト。うん、こっちのがストリクターっぽい。という訳でディレクトリとファイルの同一視は否推奨です ( なんて記事だ ) 。

2005/03/20

personomy 集め

取り合えず personomy 集めてみる。今んとこ"面白い"使い道は浮かんでないのだけれど。属性マッチが容易なので広告にいいなぁとか思った。自分に広告見せてどうするよ。

2005/03/15

Optimoz Tweaks が0.3に

Optimoz Tweaks がなんかアップデートしてた。サイドバー閉じるか否かのスイッチが付いた。便利便利。

2005/03/08

43 Things

ToDoSNS ? 漠然としたものから、この映画を見るとかハッキリしたものまで兎に角やりたい事を列挙していく、んだと思う。例えば PHP を習得したいと思っているなら「 Master PHP 」や「 learn PHP 」といった Goals( 目的 ) を追加していく。各 Goals には流行りの tag なんかも付与できて、コメントを残す事も可能。そして見事達成できた暁にはそれらをリストから除外していく、と。まだあんまり触ってないのであれだけど RSS は提供されているので flickr 同様ブログの横 ( 笑う所 ) に挿し込むのが正しい使い方のような気がする。 flickr と言えば何故かプロフィール項に flickr ID 欄があって記入すると 43 Things のプロフに画像が列挙される。なんでやねん。別にいいけど。

目的がそのまま SNS の所謂コミュニティ的ポジションにあるので掲示板でも付ければいいのにと思った。あと foaf 読みこみいい加減つけろよ。

列挙していって気付いたのは自分はあんまり望みってものが無い事。生きてんだか死んでんだか…。