14 Consejos básicos para el .htaccess

1. Crear páginas de errores
Con el .htaccess se puede configurar facilmente las páginas de errores, con sólo poner estas lineas.
ErrorDocument 401 [PATH]/401.php
ErrorDocument 403 [PATH]/403.php
ErrorDocument 404 [PATH]/404.php
ErrorDocument 500 [PATH]/500.php

2. Evitar la navegación dentro el directorio
Si no incluimos el index y no tenemos puesto los permisos correctamente se puede navegar por los directorios.
Con esta directiva lo protegemos via Apache

Options All -Indexes

3.Página predeterminada para cada directorio
Con esta directiva establecemos una página por defecto para todos los directorios.

DirectoryIndex news.html

4. Crear un redireccionamiento 301
Si queremos redireccionar, por ejemplo una antigua página a la nueva, esta directiva nos irá como anillo al dedo.

Redirect 301 /original/filename.html http://domain.com/updated/filename.html

5.Comprimir la salida con GZIP
Directiva bastante importante para reducir el tamaño de todos nuestros Javascript, CSS y HTML.


mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

6. Redirigir a una conexión segura
Si quieres redirigir todo nuestro sitio a https con esta directiva es fácil y rápido.

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

7. Bloquear la ejecución de scripts
Con esta directiva bloqueamos todas las execuciones de los lenguajes no deseados.

Options -ExecCGI
AddHandler cgi-script .pl .py .php .jsp. htm .shtml .sh .asp .cgi

8. Forzar un fichero para descargar con el "Guardar como"
Si quieres forzar la descarga de un archivo en lugar de abrirlo en el navegador.

AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4

9. Restringir el tamaño de subida
php_value upload_max_filesize 10M
* Este valor define el tiempo máximo en segundos que se le permite correr a un script,
antes de que sea detenido por el intérprete

php_value post_max_size 10M
* Este valor establece el tiempo máximo en segundos con el que cuenta un script
para procesar datos de entrada, como POST, GET y cargas de archivos.

php_value max_execution_time 200
* El tamaño máximo de un archivo cargado

php_value max_input_time 200

10. Habilitar la cache de fichero.
#cachear los html y htm por un dia

Header set Cache-Control "max-age=43200"


#cachear css, javascript y ficheros de texto para una semana

Header set Cache-Control "max-age=604800"


#cachear flash y imagenes para un mes

Header set Cache-Control "max-age=2592000"


#desactivar la cache para los ficheros dinamicos.

Header unset Cache-Control


11.Acabar con el hotlinking
Si no queremos que nos linken nuestras imagenes, mp3, css... desde fuera de nuestro sitio.
Esta es nuestra directiva:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([ -a-z0-9] \.)?domain\.com [NC]
RewriteRule \.(gif|jpe?g|png|mp3|css|js)$ - [F,NC,L]

12. Ocultar el tipo de fichero
Si quieres ocultar el tipo de fichero de tu sitio.
ForceType application/x-httpd-php

13. Reescrivir las urls
Reescrivir el producto.php?id=12 a producto-12.html
RewriteEngine on
RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1

14. Cambiar el Charset y los Header
AddDefaultCharset UTF-8
DefaultLanguage es-ES

blog comments powered by Disqus
 
Google Analytics Alternative