Inicio Servidor Apache .htaccess Tutorial de .htaccess 2

Tutorial de .htaccess 2

Jueves, 24-02-2011 13:43 - Leer comentarios - Comentar

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
2. Bloquea todas las peticiones del user-agent
3. Redirecciona a todos, excepto a ciertas IPs
4. Redirecciones 301 amigables con SEO
5. Crea una página personalizada para cada tipo de error
6. Crea una lista de IPs prohibidas
7. Setea una dirección de e-mail por defecto para el administrador de servidor
8. Deshabilita la ventana de aviso de descarga
9. Protege un archivo específico
10. Comprime componentes con mod_deflate
11. Agrega headers de expiración a los archivos
12. Seteando la página por defecto
13. Proteje tus archivos y directorios con una contraseña
14. Hacer una redirección 301 de un dominio viejo a uno nuevo
15. Forzar el cacheo
16. Comprimir componentes al activar Gzip
17. Quitar palabras o strings de una URL
18. Deshabilitar la navegación por los directorios de tu sitio
19. Redirigir los Feeds de WordPress a FeedBurner
20. Remover la extensión del archivo de una URL
21. Quitar el "www" del dominio

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:
Texto plano
Options +FollowSymlinks
#Protect against hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?nombrededominio.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://nombrededominio.com/img/no_robar_ancho_de_banda.gif[nc]
↑ Subir ↑
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.
Texto plano
#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 ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot 
↑ Subir ↑
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:
Texto plano
ErrorDocument 403 http://www.nombrededominio.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123
↑ Subir ↑
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:
Texto plano
Redirect 301 /d/file.html http://www.nombrededominio.com/r/file.html
↑ Subir ↑
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:
Texto plano
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php 
↑ Subir ↑
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:
Texto plano
allow from all
deny from 145.186.14.122
deny from 124.15
↑ Subir ↑
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:
Texto plano
ServerSignature EMail
SetEnv SERVER_ADMIN default@dominio.com 
↑ Subir ↑
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:
Texto plano
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov 
↑ Subir ↑
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:
Texto plano
#Protect the .htaccess File
order allow,deny
deny from all
↑ Subir ↑
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:
Texto plano
SetOutputFilter DEFLATE 
↑ Subir ↑
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:
Texto plano
Header set Expires "Wed, 21 May 2010 20:00:00 GMT"
↑ Subir ↑
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:
Texto plano
#Serve Alternate Default Index Page
DirectoryIndex about.html
↑ Subir ↑
13. Proteje tus archivos y directorios con una contraseña

Texto plano
#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/nul
Require valid-user
↑ Subir ↑
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"):
Texto plano
# Redirigir de un dominio viejo a uno nuevo
RewriteEngine On
RewriteRule ^(.*)$ http://www.nuevodominio.com/$1 [R=301,L]
↑ Subir ↑
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):
Texto plano
FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus 86400 seconds"
↑ Subir ↑
16. Comprimir componentes al activar Gzip

Esto hace que sea más rápida la carga de tu sitio:
Texto plano
AddOutputFilterByType DEFLATE text/html text/plain 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
↑ Subir ↑
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:
Texto plano
RewriteRule ^category/(.+)$ http://www.tudominio.com/$1 [R=301,L]
↑ Subir ↑
18. Deshabilitar la navegación por los directorios de tu sitio

Texto plano
Options All -Indexes 
↑ Subir ↑
19. Redirigir los Feeds de WordPress a FeedBurner

Texto plano
#Redirect wordpress content feeds to feedburner
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/tufeed [R=302,NC,L]
↑ Subir ↑
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"
Texto plano
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
↑ Subir ↑
21. Quitar el "www" del dominio

Texto plano
#remove www from URI
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.dominio\.com$ [NC]
RewriteRule ^(.*)$ http://dominio.com/$1 [L,R=301]

Comentarios

Teyah - Miércoles, 09-11-2011 05:54

There's a seecrt about your post. ICTYBTIHTKY


No se permiten comentarios en este momento.