あぶらかたぶらー。
だめだ、mod_rewriteはやっぱり恐ろしい。挙動が予想出来なさすぎる。XREAのサーバでは動いてるのに、ローカルでテストすると意味不明なリダイレクト食らったり、もう何がなんだか。Apacheのバージョンが悪いのか、OSが違うのが悪いのか。むー。
あぶらかたぶらー。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)/$ /$1 [R=permanent]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ himmel/interceptor.php?id=/$1 [L]
リクエストされたアドレスがディレクトリの時のみintercepter.phpにディレクトリ名を引き渡す感じ。「/memo/」をリクエストされたら「/memo」に301で外部リダイレクトして、コンテントネゴシエーション的にベターなスラッシュ無しのURIに転送。
XREAのサーバだと(少なくとも見かけ上は)思い通りの動作になるんだけど、ローカルのApache2.xだとうまく行かない。どうやらリダイレクトが無限ループに陥ってるらしい。謎だ。
とりあえず、XREA上ではこのまま運営して、ローカルは適当にお茶を濁そう。
というわけで、このサイト内のURIは最後のスラッシュ無しが正式になりました。いや、正確には昔から正式だったのですが、リダイレクトでスラッシュ有りに飛ばされていたのを、停止しました。スラッシュ有りでリンクされていた場合もスラッシュ無しにリダイレクトされるので特にリンク切れは発生しないはずです。
最近全くいじってないfoobar2000ですが、なんか凄いことになってるんですね。
ネットラジオしか聞かないから、プレーリストが常に1件しかないんだよな。
あぶらかたぶらー。
ローカルだと謎のリダイレクトが発生するのはどうやらmod_dirが干渉しているような雰囲気だったので、試しに
DirectorySlash Off
を.htaccessに追加してみたら上手く動くようになった。
フックするタイミングがバージョンによって違うのかな。