httpd.conf para servir archivos sin distinguir entre mayúsculas y minúsculas

httpd.conf para servir archivos sin distinguir entre mayúsculas y minúsculas

Soy un completo novato en lo que respecta a la gestión de Apache, así que discúlpenme si estoy expresando algo incorrectamente.

Tengo un sitio web, digamos http://domain.com. El problema es que cuando intento abrir http://domain.com/index.htmlen un navegador web, muestra la página, pero cuando intento acceder http://domain.com/Index.html(nota I mayúscula), responde con HTTP 404.

¿Cómo configuro Apache para que sirva estos archivos (y directorios, de hecho) sin distinguir entre mayúsculas y minúsculas? actual httpd.confesaquí.

EDITAR Dan C, gracias por una pista. Básicamente quiero permitir que los usuarios descarguen archivos de mi servidor y realmente no quiero que se den cuenta de que Index.html, index.htmlde hecho, son diferentes.

También estoy muy dispuesto a saber cuáles son las ramificaciones de esta decisión.

Respuesta1

Lo primero que me viene a la mente esmod_reescritura, que ya está cargado en su configuración.

Suponiendo que todos sus archivos estén en minúsculas (esta puede ser una suposición peligrosa):

RewriteEngine On

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

Respuesta2

Si está ejecutando Apache en un servidor Linux, el problema es que utiliza el sistema de archivos subyacente de Linux que distingue entre mayúsculas y minúsculas, puede consultar ReWrite como lo menciona Matt.

Otra opción es el módulo mod_speling (sí, es una L) para Apache, mencionado >aquí<pero creo que eso solo buscará un error ortográfico y también podría ralentizar el acceso si hay muchos archivos en un directorio

Espero que ayude

Respuesta3

Realmente no funciona con httpd.conf. Como se dijo, el problema es que el sistema de archivos Linux en el que se encuentra distingue entre mayúsculas y minúsculas.

Conozco un método que funciona con seguridad: coloque su aplicación web en /opt/www/yourapplication

Luego haga una participación SMB de /opt/www solo para localhost

luego monte el recurso compartido Samba en /var/www

Samba es para recursos compartidos de Windows, y los recursos compartidos de Windows no distinguen entre mayúsculas y minúsculas, por lo que Samba se encargará de distinguir entre mayúsculas y minúsculas por usted, poniendo todo en MINÚSCULAS internamente.

información relacionada