|
Buscar |
Funcionalidad de los ficheros .htaccessLos dos elementos más interesantes conciernen a la protección del acceso a su sitio web. Estos dos elementos poseen guías separadas:
Si no existe dicho fichero ".htaccess", debe crearlo a partir de un fichero de texto (bloc de notas de Windows o bien otro editor de texto) y colocarlo en la carpeta deseada del sitio web. Puede igualmente efectuar otras operaciones que detallamos a continuación. Entendemos por indexación el hecho de que el directorio muestre la lista de ficheros que contiene en ausencia de índice (.cgi, .html, .php etc ....). Para impedir a los internautas listar el conjunto de los ficheros contenidos en un directorio, cree un fichero .htaccess que contenga la línea siguiente: Options -Indexes Si lo necesita, puede cambiar el valor de Register globals (por defecto = 1) añadiendo a su fichero .htaccess de su alojamiento, la línea : SetEnv REGISTER_GLOBALS 0Es posible activar Zend optimizer poniendo valor afirmativo (1) al valor ZEND_OPTIMIZER.
SetEnv ZEND_OPTIMIZER 1 SetEnv IONCUBE 0 SetEnv PHP_VER 5 Es posible activar Ioncube poniendo valor afirmativo (1) al valor IONCUBE. SetEnv IONCUBE 1
SetEnv IONCUBE 1 SetEnv ZEND_OPTIMIZER 0 SetEnv PHP_VER 5 Es posible activar Ioncube poniendo valor afirmativo (1) al valor MAGIC_QUOTES. SetEnv MAGIC_QUOTES 1Esta opción es compatible con el resto de variables anteriores. Ejemplo: SetEnv REGISTER_GLOBALS 0 SetEnv ZEND_OPTIMIZER 1 SetEnv MAGIC_QUOTES 1 SetEnv PHP_VER 5 Este ejemplo permite desactivar REGISTER_GLOBALS, activar ZEND_OPTIMIZER y MAGIC_QUOTES y utilizar PHP 5 para los ficheros con extensión php. Hay dos métodos de propagación del identificador de sesión : Cookies y URL. El valor de SESSION_USE_TRANS_SID determina el método de propagación. Si se activa el método de propagación es por URL. Si se desactiva el método de propagación es por Cookies. Si lo necesita, puede cambiar el valor de "Session Use Trans sid" (por defecto = 1) añadiendo a su fichero .htaccess de su alojamiento, la línea : SetEnv SESSION_USE_TRANS_SID 0 Es posible activar la compresión gzip a través de Zend Optimizer y la opción : SetOutputFilter DEFLATE Es recomendable desactivar la compresión para las imágenes y para los navegadores que no lo soportan. Un ejemplo del texto necesario SetEnv ZEND_OPTIMIZER 1 SetEnv IONCUBE 0 SetEnv PHP_VER 5 SetOutputFilter DEFLATE # Navegadores no compatibles BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0678 no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # No comprimir imágenes ni peticiones de proxy SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-varySi desea utilizar mensajes de error personalizados o redirigir los errores hacia una página web, cree un fichero .htaccess que contenga líneas de la forma siguiente: ErrorDocument número_de_error mensaje_o_destinación
Los 3 errores más corrientes son: 404 : página inexistente 403 : acceso denegado 500 : error interno del servidor Para mostrar un simple mensaje, escriba el mensaje correspondiente entre comillas. Para redirigir sobre una página, introduzca la ruta de acceso a la página. Ejemplos: Desea mostrar el mensaje: "Lo sentimos, no puede acceder a este fichero" tras un error 403. Debe escribir la línea siguiente en su .htaccess : ErrorDocument 403 "Lo sentimos, no puede acceder a este fichero"Desea reenviar los errores 404 sobre su página personalizada 404.html (para su diminio mi_dominio.com) : ErrorDocument 404 http://www.mi_dominio.com/404.phpPor defecto, el fichero índice de un directorio es index.html, index.htm ó index.php. Si desea que sea otro fichero, puede escribir una línea de este tipo en su .htaccess : DirectoryIndex nombre_del_ficheroPor ejemplo, si quiere utilizar la página inicio.html como página índice, utilice la línea siguiente: DirectoryIndex inicio.htmlPor defecto, el directorio inicial es el raíz, que corresponde a la carpeta inicial (www) del FTP. Es posible cambiar la ruta inicial y que al cargar la página se dirija a una subcarpeta dentro de la carpeta principal. Podemos así, hacer que las visitas se redirijan desde el dominio principal hacia cualquier URL, por ejemplo: http://www.mi_dominio.com/Ruta-deseada-inicial/Para ello utilizamos la opción redirectMatchredirectMatch 301 ^/$ http://www.mi_dominio.com/Ruta-deseada-inicial/Esto crea una redirección permanente haciendo que, cuando las visitas teclean http://www.mi_dominio.com/, el sistema le redirige hacia http://www.mi_dominio.com/Ruta-deseada-inicial/También podemos redirigir el dominio, sólo cuando el visitante no pone las "www" para poner a "www.midominio.com" en todo momento. En ese caso utilizamos la opción redirectMatch de la forma:redirectMatch 301 ^mi_dominio.com/$ http://www.mi_dominio.com/Puede, por razones diversas, querer reescribir las URLs de su sitio. Para eso, puede utilizar un fichero .htacces de la siguiente forma: RewriteEngine onRewriteRule regla_de_reescrituraBasta con reemplazar "regla_de_reescritura" por la regla que necesite. Puede escribir varias reglas en un mismo fichero. Más información en nuestra guía : HtaccessModRewrite Las posibilidades son demasiadas para describirlas todas en esta guía. Refiérase a la documentación oficial para más detalles: http://httpd.apache.org/docs/misc/rewriteguide.html : HtaccessProtection : ¿Cómo proteger el acceso a un directorio por autentificación?. : HtaccessProtectIP : ¿Cómo bloquear ciertas IP a nivel de mi sitio?. : HtaccessPhpVersion :: Opciones de PHP en los alojamientos compartidos : HtaccessModRewrite :: Algunas ideas sobre el módulo rewrite de Apache |