Mejora tu web optimizando correctamente el archivo .htaccess de tu sitio. Manual avanzado de htaccess
El arhivo Htaccess solamente se utiliza en alojamiento con servidores Apache. Suele ir con un punto por delante para mantenerlo oculto.htaccess
El Htaccess es un archivo de texto en el que se configura aspectos generales de la web, asi como parametros del servidor. Una mala configuración de este archivo nos puede causar graves problemas en el funcionamiento de la pagina.
Wordpress, joomla, prestashop ....durante su instalación viene con un archivo htaccess ya configurado, el cual lo deberiamos modificar para ajustarlo a nuestras necesidades.
A continuación les presento ias opciones y comandos que puedes instalar en este archivo, !empezemo!
Lo primero que hay que indicar, cada servicio de alojamiento tiene limites de lo que puedes o no puedes configurar en el archivo .Htaccess
Estas limitaciones vienen con la directiva "AllowOverride", el cual aparece en el archivo httpd.conf
.
En el caso de no tener acceso al archivo httpd.conf
, puedes crear uno propio en tu alojamiento ("consultar con su administrado del alojamiebto, en caso de duda").
Comandos de acceso a la web en el archivo .htaccess
deny from all: Ningun usuario podra acceder a nuestra web.deny from all allow from DIRECCIÓN_IP: Solamente puede acceder al sitio ña direccion ip indicada en from DIRECCIÓN_IP
Deniega el acceso a cualquier visita que venga del dominio otherdomain\.com
. Para que funcione correctamente tiene que tener instalado en el servidor el modulo mod_rewrite
. Con esta tecnica evitamos un posible Hot link
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} otherdomain\.com
RewriteRule .* - [F]
¿Como bloquear bots y sitios rippers
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
DirectoryIndex index.php: Indica el cual es el index del sitio. En el caso de no tener un seria index.php y asi sucesivamente
Adding MIME types: En el caso de que subamos archivos con extensiones poco comunes para una web, hay que indicarle que tipo de de archivo es, segun su contenido, aqui tienes varios ejemplos:
AddType text/plain .txt
AddType text/richtext .rtx
AddType text/tab-separated-values .tsv
AddType text/x-setext .etx
AddType text/x-server-parsed-html .shtml .sht
AddType application/macbinhex-40 .hqx
AddType application/netalivelink .nel
AddType application/netalive .net
AddType application/news-message-id
AddType application/news-transmission
AddType application/octet-stream .bin .exe
AddType application/oda .oda
AddType application/pdf .pdf
AddType application/postscript .ai .eps .ps
¿Como evitar que nos carguen la pagina con caracteres no validos
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ [a-zA-Z0-9\.\+_/\-\?\=\&]+\ HTTP/ [NC]
RewriteRule .* - [F,NS,L]
Activar la compresion GZIP
Gzip es un software que tiene que estar instalado en el servidor que ofrece el alojamiento, que permite la compresión de datos haciendo que nuesta pagina se cargue mas rapidamente. Estas son las lineas que deberiamos tener:IfModule mod_gzip.c
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.*
ifModule
Hay que destacar la cuarta linea "mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$" en la cual se puede añadir cualquier extensión de arhivo que utilizes en tu sitio
¿Como redireccionar una pagina
redirect 301 /wp-content/index.php http://www.tudominio.com/
Redireccionar a una pagina segun un error
ErrorDocument 404 /error404.html
: Si se produce el error 404 se va a la pagina error404.html. Otros errores comunes son: 400 Bad Request, 401 Authorization Required, 403 Forbidden Page, 500 Internal Error
¿Como proteger una carpeta con una contraseña
AuthName "Member's Area Name"
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user
La primera linea indica la carpeta que quedemos proteger con una contraseña. La segunda linea indica donde esta el archivo .htpasswd que contiene la contraseña. La ultima linea podemos incluir credenciales o un usuario.
El archivo .htpasswd
puede ser algo parecido a lo indicado aqui:
Nombre de usuario: Encryptedpassword
fred_smith: oCF9Pam / MXJg2