Apache2.0における拡張子の隠蔽

多くの人から「そんなの当たり前じゃん」と思われることだろうが,
知らなかったのでメモをとる.

Apache2.0において,拡張子を隠蔽する際の話.
ここで拡張子の隠蔽と言っているのは,

http://example.com/~hkhn/index.cgi

へのアクセスを,

http://example.com/~hkhn/index

を以て代用することを意図している.

Apache1.3においては,

Options +Multiviews

と書いておけば良かった…らしい.これも知らなかった.
しかしながら,セキュリティ上の観点から(?)これだけでは動かないようになったApache2.0.

Options +Multiviews
MultiviewsMatch Handlers

として,Multiviewsが可能な対象を指定してやる必要がある.
あ,

AddHandler cgi-script .cgi

は書いてあるという前提ね.

これを使うと,
CGI::Application::Dispatchを使う場合とか,

http://example.com/~hkhn/dispatch.cgi/

などと書いていたものを,

http://example.com/~hkhn/dispatch/

にできる訳ですよ.ええ.