Aquí, en esta entrada del blog les dejo útiles consejos y trucos para el .htaccess para configurar su servidor web.
Como un archivo .htaccess es muy potente y un error de sintaxis en su configuración ligera puede provocar un mal funcionamiento grave en el servidor. Para evitar esto aconsejamos mantener una copia de seguridad de todos tus archivos desde el servidor antes de trabajar con el archivo htaccess.
Crear paginas de error personalizadas
Creación de una página de error personalizado con. htaccess en Apache Linux es una tarea muy sencilla. Con un editor de texto editamos nuestro archivo .htaccess. Podemos dar a las paginas de error diseños personalizados con el fin de atrapar a los visitantes que llegan a nuestro sitio web después dar clic en un enlace roto.
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
Configurar la zona horaria en el servidor
SetEnv TZ America/BuenosAires
Bloquear direcciones IP Utilizando htaccess
En algún momento debemos evitar que determinadas IP accedan a nuestro sitio. Esta tarea es bastante simple. Todo lo que debemos hacer es poner el siguiente código dentro nuestro archivo htaccess.
allow from all
deny from 192.168.14.122
deny from 10.15
Cuando alguien intenta acceder a su sitio desde una IP prohibida este recibirá un mensaje de error 403 de acceso prohibido (403 error access forbidden).
Redirecciones 301
Redirecciones permanentes para mover enlaces antiguos o rotos
Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html
Establecer un correo electronico para el administrador del servidor
El uso de este código se puede especificar la dirección de correo electrónico por defecto para el administrador del servidor.
ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com
Guardar las Imágenes en la Cache del Navegador del Visitante
Para conseguir que las imágenes permanezcan en el navegador del usuario durante 1 semana y para conseguir que la visualización de nuevas páginas dentro de nuestro dominio sea casi de forma instantánea, añadiremos el siguiente código a nuestro archivo .htaccess:
ExpiresActive On
ExpiresDefault A604800
ExpiresDefault “access plus 7 day”;
Utilizando este sencillo código, la navegación dentro de las páginas de nuestra Web será mucho más rápida, ya que cualquier imagen que sea mostrada en la pantalla del visitante de nuestra Web quedará guardada en la Cache de su navegador durante una semana y no se volverá a solicitar petición al Servidor
Protección Hotlinking con htaccess
Es muy importante porque cualquier persona que realece un enlace a las imágenes de nuestro sitio web consumira nuestro ancho de banda de su servidor. El siguiente código nos ayudará a prevenir eso.
Options +FollowSymlinks
# Protect Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc]
Bloquear todas las solicitudes de agente de usuario
mediante la creación de un perfecto lista de prohibición de htaccess, puedes impedir que todos los agentes de usuario no deseados que mantendrá su carga en el servidor abajo. También puedes ver este hilo interesante sobre el mundo webmaster acerca de Thea 228 lista de usuarios de la prohibición de los agentes.
## .htaccess Code :: BEGIN
## Block Bad Bots by user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot
## .htaccess Code :: END
Redirigir todas IP hacia otros sitios.
Si deseamos redirigir todos los visitantes a una IP diferente. Y tambien dar acceso a otras ip a nuestro sitio web, el siguiente codigo les permitira realizar dichas acciones.
ErrorDocument 403 http://www.youdomain.com
Order deny,allow
Deny from all
Allow from 192.168.8.165
Allow from 10.154.68.123
Forzar a que aparezcan las “www” en tu Dominio
Esta técnica se aplica para Solucionar la duplicidad de contenido en nuestro Dominio, es decir, cuando se accede al mismo contenido utilizando las “www” y cuando se accede sin usar las “www”.
Un ejemplo lo tienes en esta misma página. Intenta quitar en la dirección url que aparece en tu navegador las “www” de esta página, verás que automáticamente te redirige a la página con las “www”. Para conseguirlo, simplemente agrega el siguiente código:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^tudominio.com$ [NC]
RewriteRule ^(.*)$ http://www.tudominio.com/$1 [R=301,L]
El principal problema que puedes tener si no incluyes este código en tu .htaccess es que si un usuario inicia sesión en dominio.com y luego va a www.dominio.com, las cookies no se reconocerán y el usuario deberá volver a iniciar sesión.
No mostrar solicitud de descarga con Htaccess
Por lo general, cuando intenta descargar un archivo desde un servidor Web, quien recibe la solicitud tambien recibe un mensaje de pregunta si desea guardar el archivo o abrirlo. Si deseamos que dicha confirmacion no aparezca en los usuarios clientes podemos utilizar el siguiente código en el archivo. htaccess.
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
Cambiar el tipo de archivo con htaccess
Hacer que cualquier archivo de un cierto tipo de archivo como por ejemplo image.jpg, index.html, default.cgi por medio de esta propiedad htaccess podemos hacerlos pasar como si tubieran extencion php.
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
Bloquear el acceso a nuestro archivo .htaccess
Mediante la adición de que el siguiente código a nuestro archivo htaccess evitaremos intentos de acceso a este archivo. Esta capa adicional de seguridad protege su htaccess mostrando un mensaje de error 403 en el navegador.
# seguridad para nuestro archivo htaccess
Order allow,deny
Deny from all
Proteger el acceso a ciertos archivos específicos en el servidor
Esto se puede hacer añadiendo el código de abajo mencionados. Por ejemplo, si deseamos bloquear algun archivo con alguna extension determinada, esto evitará la visualización de estos archivos.
# prevenir acceso a archivosecreto.txt
Order allow,deny
Deny from all
Nota: esto afectaría a cualquier archivo con el nombre “archivosecreto.txt” que se encuentre en el servidor.
Además, usando la directiva FilesMatch, podes proteger archivos con determinadas extensiones:
# prevenir acceso a ciertos archivos
Order Allow,Deny
Deny from all
Impedir el acceso a la navegación no autorizada
Este es un truco muy util con nustro archivo .htaccess nos ayuda a impedir que los agentes o usuarios puedan ver todos los documentos en un determinado directorio.
# deshabilitar navegacion por directorios
Options All -Indexes
Configuración de la página por defecto
Podemos configurar la página predeterminada de un directorio. Por ejemplo, en el código de la página por defecto se establece como lugar de about.html en lugar de index.html
# alternativa para pagina principal
DirectoryIndex about.html
Podemos crear una autenticación para el acceso a determinados archivos y directorios. El código tiene ejemplos de la protección de contraseña de un solo archivo y protección de contraseña para un directorio entero.
# proteger un archivo
AuthType Basic
AuthName “Prompt”
AuthUserFile /home/path/.htpasswd
Require valid-user
# proteger con contraseña un directorio
resides
AuthType basic
AuthName “This directory is protected”
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
Comprimir componentes con mod_deflate
Como alternativa a la compresión de archivos mediante Gzip, puedes implementar mod_deflate (que se supone que es más rápido). Utiliza el siguiente código en la parte superior del archivo .htaccess:
SetOutputFilter DEFLATE
Agrega headers de expiración a los archivos
El siguiente código sirve para agregar fechas de expiración en las cabeceras de los archivos:
Header set Expires "Wed, 21 May 2015 20:00:00 GMT"
Quitar palabras o strings de una URL
En este ejemplo, quitaremos “categoria” de nuestras URL, es decir: http://dominio.com/categoria/carpeta -> http://dominio.com/carpeta
Añade este código al final de tu .htaccess:
RewriteRule ^categoria/(.+)$ http://www.dominio.com/$1 [R=301,L]
Basado en: http://www.blog.pc-serveis.es/programacion-web/trucos-con-htaccess-cache-restricciones-redireccion-dominio
Hello. And Bye.
ResponderEliminar