Ich bin ein völliger Neuling, was die Verwaltung von Apache betrifft, also entschuldigen Sie, wenn ich etwas falsch formuliere.
Ich habe eine Website, sagen wir http://domain.com
. Das Problem ist, dass http://domain.com/index.html
die Seite angezeigt wird, wenn ich versuche, sie in einem Webbrowser zu öffnen. Beim Versuch, darauf zuzugreifen http://domain.com/Index.html
(beachten Sie das große I), wird jedoch die Antwort HTTP 404 angezeigt.
Wie konfiguriere ich Apache, um diese beiden Dateien (und Verzeichnisse) ohne Berücksichtigung der Groß- und Kleinschreibung bereitzustellen? Aktuell httpd.conf
istHier.
BEARBEITEN Dan C, danke für den Hinweis. Ich möchte Benutzern grundsätzlich erlauben, Dateien von meinem Server herunterzuladen, und möchte nicht, dass sie das wirklich wissen Index.html
und dass index.html
es sich tatsächlich um unterschiedliche Dateien handelt.
Ich bin auch sehr daran interessiert, zu erfahren, welche Konsequenzen diese Entscheidung hat.
Antwort1
Das erste, was mir in den Sinn kommt, istmod_umschreiben, das bereits in Ihrer Konfiguration geladen ist.
Angenommen, Ihre Dateien sind alle in Kleinbuchstaben (dies kann eine gefährliche Annahme sein):
RewriteEngine On
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule ^(.*)$ ${tolower:$1}
Antwort2
Wenn Sie Apache auf einem Linux-Server ausführen, besteht das Problem darin, dass es das zugrunde liegende Linux-Dateisystem mit Groß- und Kleinschreibung verwendet. Sie könnten sich ReWrite ansehen, wie von Matt erwähnt.
Eine weitere Option ist das mod_speling Modul (ja, es ist ein L) für Apache, erwähnt >Hier< aber ich denke, das sucht nur nach einem Rechtschreibfehler und könnte auch den Zugriff verlangsamen, wenn sich viele Dateien in einem Verzeichnis befinden
Ich hoffe, das hilft
Antwort3
Mit httpd.conf funktioniert es nicht wirklich. Wie gesagt, das Problem besteht darin, dass das Linux-Dateisystem, auf dem Sie sich befinden, zwischen Groß- und Kleinschreibung unterscheidet.
Ich kenne eine Methode, die sicher funktioniert: Legen Sie Ihre Webanwendung in /opt/www/IhreAnwendung
Erstellen Sie dann eine SMB-Freigabe von /opt/www nur für den lokalen Host.
Mounten Sie dann die Samba-Freigabe in /var/www
Samba ist für Windows-Freigaben gedacht und bei Windows-Freigaben wird die Groß-/Kleinschreibung nicht beachtet. Samba kümmert sich daher für Sie um die Beachtung der Groß-/Kleinschreibung, indem intern alles in Kleinbuchstaben geschrieben wird.