- Bienvenidos a WPERU.COM |
.htaccess
htaccess es un archivo de texto oculto que contiene una serie de directivas para el servidor Apache. Cuando un cliente solicita un archivo al servidor, este busca desde el directorio raíz hasta el subdirectorio que contiene el archivo solicitado el archivo .htaccess y tiene en cuenta estas reglas antes de proceder con la petición, es decir, se aplican las normas especificadas al directorio en el que se encuentre .htaccess y los directorios por debajo de él.
Ejemplos de usos para .htaccess pueden ser restringir el acceso a determinados archivos, impedir el listado de los archivos de un directorio, redireccionar, personalizar las páginas de error o impedir el acceso a determinadas IPs o rangos de IP.
| Impedir el listado del contenido de un directorio |
|
Cuando se intenta acceder a un directorio, en ausencia de un archivo de índice, Apache muestra por defecto el contenido del directorio. Si queremos impedir al usuario ver el contenido de un directorio, bastaría con crear un archivo de índice, por ejemplo index.html, pero existe una solución más elegante
mediante la directiva Options. Basta crear un archivo .htaccess que contenga la línea: Options -Indexes
También podríamos utilizar la directiva DirectoryIndex, que especifica qué archivos actúan como índice por defecto, y que archivo mostrar en el caso de que estos no se encuentren.
Por ejemplo la línea: DirectoryIndex index.php index.html index.htm /prohibido.php
indicaría al servidor que debe buscar los archivos index.php, index.html o index.htm, en ese orden, y en el caso de no encontrar ninguno de ellos, cargar el archivo prohibido.php.
|
| Redireccionar una URL |
Si nos encontramos con la necesidad de enviar al usuario a una determinada dirección web cuando pida una cierta página, por ejemplo porque la hallamos movido, podemos utilizar la directiva Redirect de Apache.
Redirect /antiguo.php http://wperu.com/otros/nuevo.php
|
| Crear un mensaje de error personalizado |
Este es uno de los usos más frecuentes para el archivo .htaccess. En ocasiones se pueden producir errores que deben ser notificados al usuario, por ejemplo en el caso de que se intente acceder a una página que no existe, bien por un fallo del usuario al introducir la url, o bien porque la página haya sido movida o eliminada. Estos mensajes suelen estar escritos en inglés, no ofrecen demasiada información al usuario, y rompen la estética general del sitio, por lo que es imprescindible personalizarlos.
Para lograrlo utilizamos la directiva ErrorDocument, del que tenemos un ejemplo a continuación:
ErrorDocument 403 "Acceso denegado
ErrorDocument 404 /404.php
ErrorDocument 500 http://wperu.net/500.php
Los códigos de error 403, 404 y 500 son los más comunes, y se producen respectivamente cuando no se tiene permiso para acceder a una página, cuando no se encuentra un archivo y debido a un error interno del servidor.
La primera línea indica al servidor que muestre el mensaje ‘Acceso denegado’ siempre que se produzca el error 403. Las otras líneas ilustran la forma de indicar al servidor que muestre una determinada página cuando se produzca un error (se puede usar direcciones relativas o absolutas).
|
| Para redireccionar un SubDominio (algo.sudominio.com) |
Agregue la siguiente línea en su archivo:
Nota para los usuarios FrontPage: Al agregar estas líneas a su archivo .htaccess le impedirá utilizar la función Publish. Recomendamos hacer una copia del archivo .htaccess y del archivo nuevo que genere. De esta manera, cuando quiera hacer cambios a sus páginas web, utiliza el archivo original y luego lo vuelve a reemplazar.
# redirect algo.sudominio.com to
www.sudominio.com/algo
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} algo.sudominio.com$
RewriteCond %{REQUEST_URI} !algo/
RewriteRule ^(.*)$ algo/$1
Esto redireccionará los pedidos del nombre de subdominio algo.sudominio.com al directorio algo/ dentro del domino sudominio.com.
Nota: Reemplace algo por su nombre de subdominio.
|
| Para redireccionar un dominio adicional o un subdirectorio de su dominio actual |
Agregue la siguiente línea en su archivo:
# redirect www.sudominio.com to
www.sudominio.com/directorio
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} www.sudominio.com$
RewriteCond %{REQUEST_URI} !directorio/
RewriteRule ^(.*)$ directorio/$1
RewriteCond %{HTTP_HOST} sudominio.com$
RewriteCond %{REQUEST_URI} !directorio/
RewriteRule ^(.*)$ directorio/$1
Nota: Reemplace directorio por el directorio que usted quiera.
|
Usted puede encontrar una documentación completa sobre el mod_rewrite en las siguientes direcciones:
» http://www.apache.org/docs/mod/mod_rewrite.html
[ R E G R E S A R ]

| | | |