大文字と小文字を区別しないファイル配信用の httpd.conf

大文字と小文字を区別しないファイル配信用の httpd.conf

私は Apache の管理に関しては完全な初心者なので、表現が間違っている場合はご容赦ください。

たとえば、 という Web サイトがありますhttp://domain.com。問題は、http://domain.com/index.htmlWeb ブラウザーで開こうとするとページが表示されるのですが、アクセスしようとするとhttp://domain.com/Index.html(大文字の I に注意)、HTTP 404 が応答することです。

これらのファイル(およびディレクトリ)を大文字と小文字を区別せずに提供するようにApacheを設定するにはどうすればよいでしょうか?httpd.conf現在のところここ

編集 ダン Cヒントをありがとう。基本的には、ユーザーがサーバーからファイルをダウンロードできるようにしたいのですが、実際には異なるものであることをユーザーに認識させたくありませIndex.htmlindex.html

また、この決定がどのような影響を及ぼすのかもぜひ知りたいです。

答え1

最初に思い浮かぶのは書き換えすでに設定にロードされています。

ファイルがすべて小文字であると仮定します (これは危険な仮定かもしれません):

RewriteEngine On

RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule ^(.*)$ ${tolower:$1} 

答え2

Linux サーバーで Apache を実行している場合、問題は基礎となる Linux の大文字と小文字を区別するファイル システムを使用していることです。matt が述べたように、ReWrite を検討することができます。

もう一つの選択肢は、Apache用のmod_spelingモジュール(はい、1つのLです)です。>ここ< しかし、それは1つのスペルミスしか検出しないと思いますし、1つのディレクトリにたくさんのファイルがある場合にはアクセスが遅くなるかもしれません。

お役に立てれば幸いです

答え3

これは実際には httpd.conf では機能しません。前述のように、問題は、使用している Linux ファイルシステムが大文字と小文字を区別することです。

確実に機能する方法を1つ知っています。Webアプリケーションを/opt/www/yourapplicationに配置することです。

次に、ローカルホストのみに /opt/www の SMB 共有を作成します。

次にSamba共有を/var/wwwにマウントします。

Samba は Windows 共有用であり、Windows 共有では大文字と小文字が区別されないため、Samba が大文字と小文字の区別を処理し、内部的にすべてを小文字にします。

関連情報