LinuxのApacheで大文字・小文字を区別しないでURLを認識させるには


VB.NETClickOnce機能を使って、エンドユーザにアプリケーションを
配布しようとしましたがここで問題発生。


アプリケーションを配置したURLの英字に、大文字小文字が混ざっていたため
インストーラが上手く動かない。Case Sensitiveなんです。
WebサーバがLinuxだからね。Windowsだったらもちろん
Case Insensitiveなので大文字小文字は区別しないのですが…。


そんな訳でApacheのmod_spellingを使用し、大文字小文字の区別をしないように変更。


尚、Apacheの2.2まではCheckSpellingディレクティブしか使えないため
大文字小文字の違いを吸収するだけでなく、URLが1字違ってもそれを吸収してしまうので注意。
※2.3からは、Case Insensitiveのみをディレクティブ指定できるように変わっているようです。


ですので、特定のディレクトリのみに対して制御を行うのがよいです。


以下はhogeディレクトリに対してのみ制御を行う例です。

LoadModule speling_module modules/mod_speling.so

<Directory "/var/www/hoge/">
 <IfModule mod_speling.c>
  CheckSpelling On
 </IfModule>
</Directory>


こんな感じで、Case Insensitiveな指定が可能になります。