Hoy en día, la mayoría de ofertas de alojamiento web son para el servidor web Apache. Es una solución mucho más barata en comparación con la plataforma IIS en Windows. Apache es bien conocido por su capacidad para usar .htaccess, donde podemos controlar determinados aspectos de nuestro sitio web, incluyendo el rendimiento.
Uno de los más populares es redirigir cualquier dominio sin www al dominio con www. En este ejemplo, si intenta tener acceso a http://webempresa.com, el servidor le redirigirá a http://www.webempresa.com. Esto puede garantizar que el PageRank™ no se divide en dos. Para su información, Google trata a estos dos dominios como diferentes. He aquí algunos de los códigos.htaccess que se pueden utilizar en sus sitios web.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^webempresa.com
RewriteRule (.*) http://www.webempresa.com/$1 [R=301,L]
Uno de los más populares es redirigir cualquier dominio sin www al dominio con www. En este ejemplo, si intenta tener acceso a http://webempresa.com, el servidor le redirigirá a http://www.webempresa.com. Esto puede garantizar que el PageRank™ no se divide en dos. Para su información, Google trata a estos dos dominios como diferentes. He aquí algunos de los códigos.htaccess que se pueden utilizar en sus sitios web.
Redirigir la URL sin www a la dirección con www
Como explique anteriormente, el siguiente código redirigirá de la URL de su dominio sin www a la URL de su dominio con www.RewriteEngine On
RewriteCond %{HTTP_HOST} ^webempresa.com
RewriteRule (.*) http://www.webempresa.com/$1 [R=301,L]
Como cambiar de la URL www para la dirección URL sin www
Y el siguiente código debe redirigir al usuario de la dirección URL de su dominio con www a la dirección URL sin www.RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.webempresa.com [NC]
RewriteRule ^(.*)$ http://webempresa.com/$1 [L,R=301]
Impedir listar el directorio
Si tiene una carpeta en el servidor web utilizada para almacenar archivos como los e-docs, software legal, etc,, si la carpeta no tiene archivo index.html, los visitantes pueden ver todos los archivos dentro de la carpeta sin problemas. En este caso puede utilizar el código siguiente para evitar que esto suceda.Options -Indexes
Orden de ejecución de archivos
Si tiene tanto el archivo index.html como el archivo index.php en la carpeta /public_html, el archivo index.html tiene mayor prioridad y se ejecutara en primer lugar. Aunque la mayoría de scripts web utilizan el archivo index.php como punto de partida. Si se puede eliminar el archivo index.html, se soluciona el problema, aunque no siempre es asi y en estos casos hay una mejor solución que es utilizar el siguiente código para dar prioridad al archivo index.php en vez de index.html.DirectoryIndex index.php index.html
Comprimir archivos CSS, JavaScript, XML y texto
El siguiente código está diseñado para comprimir el código de salida CSS, JavaScript, XML y de texto antes de ser mostrado en el navegador. La idea básica es ahorrar tiempo en la carga y no consumir tanto ancho de banda.AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
Almacenamiento en caché de imágenes
Cada vez que recibimos visitas en la web, el servidor web obtiene todos los archivos necesarios, tales como archivos CSS y JavaScript, así como fotos e imágenes para poder mostrarla. Podemos usar el código de abajo para gestionar los archivos de caché, y que cuando un visitante vuelva a visitarnos por segunda vez, el servidor cargue el archivo de la caché lo que acelerará el tiempo de carga sitio web.ExpiresActive On
ExpiresByType image/gif A432000
ExpiresByType image/jpg A432000
ExpiresByType image/jpeg A432000
ExpiresByType image/png A432000
ExpiresByType image/ico A432000
ExpiresByType image/bmp A432000
ExpiresByType text/css A432000
ExpiresByType text/javascript A432000
ExpiresByType application/javascript A432000
ExpiresByType application/x-javascript A432000
El código anterior guarda caché de los archivos durante cinco días o 432.000 segundos. Puede cambiar el período de almacenamiento en caché, asegurándose de utilizar el valor expresado en segundos.
Proteger el archivo .htaccess
El siguiente código evita que su archivo .htaccess puedan ser leído directamente desde el navegador web.order allow,deny
deny from all
Prevenir el hotlinking
A veces, otros webmasters, hacen suyas las imágenes de nuestras webs, artículos, etc., afectando con ello el ancho de banda de que disponemos en nuestro Hosting. Si ademas ellos tienen una gran cantidad de visitantes al día, estos van a utilizar nuestro ancho de banda del servidor para visualizar nuestras imagenes en la web ajena a nosotros. Se puede utilizar el código que se muestra a continuación para evitar el hotlinking, y de esta forma reemplazar la imagen original por otra con algún aviso para hacerles saber que la imagen es nuestra o que el hotlinking es una mala práctica.RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?webempresa\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpg|gif|bmp|png)$ http://hotlink.webempresa.com/no_se_permite_hotlinking.jpg [L]
Puede subir la imagen a un sitio de alojamiento de imágenes como ImageShack para evitar que su ancho de banda se vea afectado.
Cambiar la ubicación de la carpeta de dominio a otra carpeta de /public_html
Si ya tiene un sitio web en el /public_html, y quiere actualizar la página web, pero no quiere que los demás lo vean, pero tampoco quiere afectar al sitio web en producción existente, la forma más fácil es la construcción de la nueva página web en una subcarpeta de /public_html, por ejemplo, /public_html/web2.Al finalizar todas las pruebas y mejoras, quiere reemplazar el antiguo sitio web con el nuevo pero transferir archivos y carpetas a la carpeta /public_html es bastante molesto. La mejor solución es usar.htaccess para decirle a Apache que utilice la carpeta /public_html/web2 en lugar de /public_html para el dominio.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^webempresa\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.webempresa\.com$
RewriteCond %{REQUEST_URI} !^/web2/
RewriteRule (.*) /web2/$1 [L]
Crear URLs de uso fácil o "amigables"
¿Cuál de las dos URL a continuación parece más amigable?http://tusitio.com/acercade
http://tusitio.com/paginas/acercade.html
Cuando se trata de direcciones URL, siempre y cuando el significado sea claro, cuanto más corto es, mejor. htaccess con una llamada al módulo de Apache mod_rewrite permite configurar las direcciones URL como quieras. El servidor puede mostrar el contenido de "/paginas/acercade.html" cada vez que alguien visita "http://tusitio.com/acercade".
A continuación algunos ejemplos:
RewriteEngine on
RewriteRule ^acercade/$ /paginas/acercade.html [L]
RewriteRule ^caracteristicas/$ /caracteristicas.php [L]
RewriteRule ^comprar/$ /comprar.html [L]
RewriteRule ^contacto/$ /paginas/contacto.htm [L]
Forzar el uso de SSL
Este código fuerza a utilizar SSL, no permitiendo conexiones http. Para evitar escuchas en http:// utilizamos por debajo la directiva ErrorDocument.SSLOptions + StrictRequire
SSLRequireSSL
Cuando una línea comienza por # es un comentario que no tiene ningún efecto.
Cuando alguien visita su sitio el servidor web Apache verifica si tiene un archivo .htaccess en algún lugar de su espacio web a partir de la carpeta raíz o la carpeta principal y rastrea todas las carpetas hasta llegar al archivo solicitado. Si encuentra un archivo .htaccess, sus directivas se aplican a la solicitud actual.
Es importante saber que el archivo .htaccess debe ser legible por el servidor Apache. Por tanto es importante consultar con su Hosting si se requiere algún permiso especial que hayan establecido para los archivos .htaccess. En general los permisos correctos para este archivo son 644.
Estas apenas son unas pinceladas de las muchas posibilidades que tiene la correcta gestión del archivo .htaccess que en la mayoría de sitios webs, del nivel que sean, suele pasar desapercibido y es relegado al estatus de un archivo más, cuando el potencial del mismo es tan grande como quiera otorgarle el usuario.