httpd.conf für die Dateibereitstellung ohne Berücksichtigung der Groß- und Kleinschreibung

httpd.conf für die Dateibereitstellung ohne Berücksichtigung der Groß- und Kleinschreibung

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.htmldie 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.confistHier.

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.htmlund dass index.htmles 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.

verwandte Informationen