Posibilidades para configurar tu archivo .htaccess

En algunas ocasiones, tal vez quieras personalizar o activar ciertas opciones en tu servidor de web hosting. A continuación, vamos a mostrarte algunas de esas opciones que puedes configurar haciendo uso del fichero llamado .htaccess.

Este tipo de ficheros son ficheros ocultos y solo funcionan bajo alojamientos web con sistema operativo Linux y servidores web apache.

El fichero .htaccess es oculto y está ubicado en el directorio para el que se desea utilizar o activar. A continuación, vamos a ver algunos ejemplos de lo que se puede hacer con el fichero .htaccess


Desactivar o activar el Safe Mode (off=desactivado, on=activado)

php_flag safe_mode off


Modificar la codificación de caracteres (charset), cambiar UTF-8 por la codificación que queremos tener

AddDefaultCharset UTF-8


Redireccionar a los usuarios a otra web menos a la ip 30.30.30.30:

ErrorDocument 403 /pagina.html   Order deny,allow   Deny from all   Allow from 30.30.30.30


Hacer una redirección “permanent”.

redirect permanent / http://www.tu-dominio.com/


Hacer una redirección 301.

redirect 301 / http://www.tu-dominio.com/


Redireccionar automáticamente HTTP a HTTPS

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


Eliminar extensiones de archivos (.html, .php, etc…)

Para quitar la extensión de nuestras páginas en la barra del navegador , hay que introducir el siguiente código en nuestro fichero .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

En este ejemplo, el código funcionaría para ocultar la extensión de los ficheros .html (si quieres ocultar la extensión de ficheros .php, debes cambiar en el código anterior la extensión html por php

Sin embargo, después de añadir este nuevo código en tu fichero .htaccess comprobarás que aún siguen apareciendo las extensiones de tus páginas web en la barra de direcciones de tu navegador, y es porque aún debes realizar algunos cambios en tus páginas web.  Lo siguiente que has de hacer, es editar todos los archivos HTML o PHP de tu sitio web que contengan enlaces (links), de manera que los enlaces que tenías antes de aplicar la nueva configuración en el fichero .htaccess, sería esta:

<a href=»mi-enlace.html»>Mi enlace</a>

pero ahora debes crear todos los enlaces sin usar la extensión, tal como puedes ver en el siguiente ejemplo:

<a href=»mi-enlace»>Mi enlace</a>

Y si además, quieres que al final de la URL se ponga automáticamente una barra /, tendrás que incluir también el siguiente código en tu fichero .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

Este código sirve para ocultar la extensión php, y además, poner una barra al final de la url.  Y si lo que quieres es hacer lo mismo para tus páginas con la extensión html, solo tienes que sustituir la extensión php en el código del ejemplo anterior por la extensión html


Personalizar las páginas de error de tu web.

ErrorDocument 400 400.html
ErrorDocument 401 401.html
ErrorDocument 403 403.html
ErrorDocument 404 404.html
ErrorDocument 500 500.html


Evitar el listado de archivos.

IndexIgnore *


Evitar el acceso a uno o varios archivos.

Order Allow,Deny   Deny from all


Evitar listar el contenido de un directorio sin Index.

Options All -Indexes


Permitir listar el contenido de un directorio sin Index.

Options All +Indexes


Modificar nuestra página por defecto (Directory Index ).

DirectoryIndex inicio.php inicio2.html


Denegar accesos a nuestro sitio a la ip 30.30.30.30

order allow,deny   deny from 30.30.30.30   allow from all

NOTA: Para esta directiva, hay que tener en cuenta que siempre debe de estar primero la acción más restrictiva. En este caso el allow es para todos y el deny tan solo para un equipo, por lo que primero estará la opción allow y después la opción deny.

En caso de dejar un espacio entre allow y deny, se obtendría un error 500. Otro ejemplo de este caso sería denegar el acceso a todos menos a nuestra ip (30.30.30.30) Entonces, la opción más restrictiva seria deny y el código seria el siguiente:

order deny,allow   deny from all   allow from 30.30.30.30


Proteger un archivo específico

En tu servidor de web hosting puede que almacenes diferentes archivos en los que se guarda la configuración para el funcionamiento del sitio web, y puede que dichos archivos contengan nombres de usuario, nombres de bases de datos y también contraseñas. En definitiva, información sensible que puede utilizar un usuario malintencionado para poner en peligro la integridad y seguridad de tu web.

Para agregar un extra de seguridad y proteger estos archivos de los “curiosos”, puedes utilizar el siguiente método para generar un código de error 403. Por ejemplo, supongamos que queremos proteger el archivo llamado wp-config.php que corresponde a la aplicación WordPress. El código a usar sería el siguiente:

<Files wp-config.php>
order allow,deny
deny from all
</Files>.

.


Denegar el acceso de ciertos dominios a nuestro sitio web

Si queremos que ciertos dominios no puedan acceder a nuestro sitio web, podemos añadir a nuestro archivo .htaccess los siguientes comandos:
.

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*tumblr\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http?://([^.]+\.)*relakks\.com
RewriteCond %{HTTP_REFERER} ^http?://([^.]+\.)*majestic12.\.co\.uk
RewriteRule .* – [F]
.

En este ejemplo, se bloquea el acceso a nuestro sitio web a los dominios ‘tumblr.com‘, ‘relakks.com‘ y ‘majestic12.co.uk‘, pero podemos cambiar estos dominios por los que nosotros queramos.

A veces, el bloquear a ciertos dominios el acceso a tu sitio web, no significa que dichos dominios sean intencionadamente «malignos» o «perjudiciales», pero, como muestra, estos tres dominios que indicamos en este ejemplo, hacen que la cuenta de hosting de tu domino consuma mucho más tráfico de datos de lo habitual, ya que están continuamente accediendo a tus páginas web sin ningún beneficio para ti. Más bien, es todo lo contrario, ya que consumen tráfico y ancho de banda de tu cuenta de web hosting sin ninguna justificación beneficiosa para ti. (Estos dominios ejecutan automáticamente aplicaciones (bot) que se conectan continuamente a tu sitio web con finalidades que no repercuten en nada beneficioso para ti)

.


© Tutorial publicado por ServiNetwork (www.deservidores.com)

.




OTROS ARTICULOS RECIENTES :