InicioInfo21 hacks de htaccess que todo desarrollador debería conocer

21 hacks de htaccess que todo desarrollador debería conocer

Info2/7/2011
La configuración del archivo .htaccess de Apache (hypertext access) puede ser una herramienta muy ponderosa en el desarrollo web si se utiliza de la forma adecuada. Mediante .htaccess podremos realizar redirecciones, proteger archivos y directorios con contraseña, prevenir el hotlinking y el robo de ancho de banda, comprimir archivos y mucho, mucho más. Entérate cómo. Asegúrate de hacer un backup de tu archivo .htaccess actual antes de aplicar cualquiera de estos hacks. 1. Prevenir el Hotlinking ¿Estás cansado de que la gente utilice tu ancho de banda poniendo las imágenes albergadas en tu servidor en su sitio web? Añade el siguiente código al final de tu archivo .htaccess para prevenir el hotlinking: Options +FollowSymlinks #Protect against hotlinking RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?nombrededominio.com/ RewriteRule .*.(gif|jpg|png)$ http://nombrededominio.com/img/no_robar_ancho_de_banda.gif 2. Bloquea todas las peticiones del user-agent Es posible bloquear a todos los user-agents indeseados que pueden ser potencialmente dañinos o quizá simplemente para mantener la carga del servidor lo más baja posible. #Block bad bots 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 ^ebandit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus Order Allow,Deny Allow from all Deny from env=bad_bot 3. Redirecciona a todos, excepto a ciertas IPs Si por alguna razón deseas denegar el acceso a todos los usuarios o sólo permitir a un cierto grupo de direcciones IP para que tengan acceso a tu sitio, añade el siguiente código a tu archivo .htaccess: ErrorDocument 403 http://www.nombrededominio.com Order deny,allow Deny from all Allow from 124.34.48.165 Allow from 102.54.68.123 4. Redirecciones 301 amigables con SEO Si has transferido nombres de dominio o deseas redireccionar a una página específica sin que afecte a los resultados de los motores de búsqueda como Google, utiliza el siguiente código: Redirect 301 /d/file.html http://www.nombrededominio.com/r/file.html 5. Crea una página personalizada para cada tipo de error Si te cansaste del diseño por defecto de las páginas de error 401, 403, 404, 500, etc. puedes fácilmente crear la tuya propia y referirte hacía ella de esta forma: ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php 6. Crea una lista de IPs prohibidas ¿Te cansaste de obtener siempre los mismos comentarios de ciertos usuarios una y otra vez? Simplemente prohíbe el acceso a determinadas IPs, añadiendo el siguiente código: allow from all deny from 145.186.14.122 deny from 124.15 7. Setea una dirección de e-mail por defecto para el administrador de servidor Con el siguiente código puedes especificar la dirección de correo electrónico por defecto para el administrador de servidor: ServerSignature EMail SetEnv SERVER_ADMIN default@dominio.com 8. Deshabilita la ventana de aviso de descarga Usualmente al descargar algo de un sitio web, saltará una ventana que pregunta si deseas abrir el archivo o guardarlo en tu PC. Para prevenir esto, utiliza el siguiente código: AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov 9. Protege un archivo específico El código que sigue te permite denegar el acceso a cualquier archivo que desees, mostrando una página de error 403 cuando alguien intenta acceder al mismo: #Protect the .htaccess File order allow,deny deny from all 10. Comprime componentes con mod_deflate Como alternativa a la compresión de archivos mediante Gzip, puedes implementar mod_deflate (que se supone es más rápido). Coloca el siguiente código en la parte superior de tu archivo .htaccess: SetOutputFilter DEFLATE 11. Agrega headers de expiración a los archivos El siguiente código muestra cómo agregar fechas de expiración en las cabeceras de los archivos: Header set Expires "Wed, 21 May 2010 20:00:00 GMT" 12. Seteando la página por defecto Puedes hacer que la página a mostrar ni bien un usuario llegue a tu sitio no sea la archiconocida "index". Aquí seteamos "about.html" como página de inicio: #Serve Alternate Default Index Page DirectoryIndex about.html 13. Proteje tus archivos y directorios con una contraseña #proteger un archivo con contraseña AuthType Basic AuthName "Prompt" AuthUserFile /home/path/.htpasswd Require valid-user # proteger un directorio con contraseña resides AuthType basic AuthName "This directory is protected" AuthUserFile /home/path/.htpasswd AuthGroupFile /dev/null Require valid-user 14. Hacer una redirección 301 de un dominio viejo a uno nuevo Incluyendo este snippet en el .htaccess de tu viejo dominio, conseguirás redigir a otro nuevo (sin ser penalizado por Google por duplicar contenido, dado que el 301 es un aviso de "redirección permanente" ): # Redirigir de un dominio viejo a uno nuevo RewriteEngine On RewriteRule ^(.*)$ http://www.nuevodominio.com/$1 15. Forzar el cacheo El siguiente snippet no va a incrementar directamente la velocidad de carga de tu sitio en general, pero sí va a cargar más rápido cuando el mismo usuario vuelva a visitarlo al enviar un status 304 cuando se pidan elementos que no han sido modificados. Puedes cambiar la frecuencia de cacheo al cambiar el número de segundos (en este ejemplo se da una vez al día): FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds" 16. Comprimir componentes al activar Gzip Esto hace que sea más rápida la carga de tu sitio: AddOutputFilterByType DEFLATE text/html text//xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html 17. Quitar palabras o strings de una URL En este ejemplo, quitaremos "category" de nuestras URL, es decir: http://tudominio.com/category/blue -> http://tudominio.com/blue Agrega este código al final de tu .htaccess: RewriteRule ^category/(.+)$ http://www.tudominio.com/$1 18. Deshabilitar la navegación por los directorios de tu sitio Options All -Indexes 19. Redirigir los Feeds de WordPress a FeedBurner #Redirect wordpress content feeds to feedburner RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/tufeed 20. Remover la extensión del archivo de una URL Para que sea más amigable al usuario y a los buscadores, por ejemplo "http://www.tudominio.com/autos.html" -> "http://www.tudominio.com/autos" RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php 21. Quitar el "www" del dominio #remove www from URI RewriteEngine On RewriteCond %{HTTP_HOST} ^www.dominio.com$ RewriteRule ^(.*)$ http://dominio.com/$1 [L,R=301] Fuente: elwebmaster.com
Datos archivados del Taringa! original
0puntos
634visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
0visitas
0comentarios
Dar puntos:

Posts Relacionados

0
archivado
0
archivado
0
archivado
0
archivado

Dejá tu comentario

0/2000

No hay comentarios nuevos todavía

Autor del Post

O
Ootl7🇦🇷
Usuario
Puntos0
Posts11
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.