Ejemplos de htaccess para Apache
Impresionante lista de trucos y ejemplos de código para incluir en nuestro .htaccess o httpd.conf, que nos puede a llegar a ser muy útil.
- Introducción a htaccess
- Apache para webmasters:Poner el sitio “en construcción”, Redirigir a todo el mundo menos a una IP a una dirección diferente
- Personalizar cabeceras HTTP: Evitar caché al 100%, Quitar la imagetoolbar de IE sin necesidad de metatags, Añadir cabeceras de privacidad (P3P), Añadir el lenguaje y la codificación a la cabecera sin necesidad de metatags (mediante AddType, directivas Files o directivas FilesMatch)
- Variados: Quita el ServerSignature, forzar ficheros a ser descargados, no mostrándose en el navegador, procesar todos los ficheros .gif por un script cgi, hacer que cualquier fichero sea de cierto tipo, Uso de la directiva IfModule para un código más robusto.
- PHP: Usar un php.ini a medida o php como cgi (usando mod_php), Ejecutar PHP como CGI, FastCGI.
- mod_env: Poner el timezone del servidor, Poner el email del administrador del servidor, Usar variables de entorno dependientes del visitante, variables de entorno con un propósito especial.
- Seguridad: Evitar acceso a ficheros .htaccess y .htpasswd files, Procesar peticiones con ciertos Request Methods, Mostrar el código fuente en vez de ejecutarlo, CHMOD, seguridad en directorios,
- documentos de error.
- SEO sin mod_rewrite: para un único archivo, para múltiples archivos del tipo blog/this.php?gh, redireccionar el home a otro dominio.
- mod_rewrite: Inicio de los usos más comunes de reescritura usando .htaccess, evitar bucles infinitos, obligatoriedad del www, redireccionar ficheros .php a .html, bloquear el acceso a ficheros durante ciertas horas del dÃa, obligatoriedad del www sin necesidad de hardcoding, obligatoriedad de no subdominio (2), redireccionar los feeds de WordPress a Feedburner, permitir solo peticiones GET y PUT, evitar hotlinking, parar el “browser prefetching”, Hacer que el prefetching apunte a Firefox.
- SSL: redireccionar peticines no https a un servidor https, redireccionar peticines no https a un servidor https sin mod_ssl (variables HTTPS ,SERVER_PORT),
- redireccionar cada petición al puerto 80 hacia una URI HTTPS, redireccionar URLs a una versión SSL, comprobar si el entorno HTTPS está activo, reescribir SSL o no SSL usando URLs relativas.
- Caché: “chuleta” de tiempos en htaccess, caché sin mod_expires + mod_headers, caché con mod_headers, caché con mod_expires.
- Autenticación: Password obligatoria para un único archivo, Proteger multiples ficheros, usar la directiva Allow en htaccess (par red/máscara de red, dirección IP, más de una dirección IP, dirección IP parcial, primeros 3 bytes para restricción de subred, espedicicación network/nnn CIDR, direcciones IPv6 y subreds.
- Prohibir subdominios: permitir desde una IP sin necesidad de password y pedir password desde cualquier IP, Modelo .htaccess inicial con el que trabajar.