24 Hacks htaccess que todo desarrollador web debe saber
Apache. htaccess (hipertexto de acceso) del archivo de configuración puede ser una herramienta muy poderosa en el juego de herramientas de un desarrollador web si se utiliza correctamente. Se puede encontrar en la web raíz de su servidor y pueden ser fácilmente editadas con cualquier editor de texto. En este artículo voy a mostrar 24. hacks htaccess y cómo usarlos.
Antes de comenzar con este artículo me gustaría empezar diciendo que abusar de los htaccess. perjudicará el rendimiento de su sitio web. El archivo htaccess. sólo debe utilizarse si usted no tiene otra forma de conseguir ciertas cosas.
Asegúrese de hacer copia de seguridad actual. htaccess antes de aplicar cualquiera de los siguientes trucos.
1. Prevenir Hotlinking
Cansado de las personas que utilizan su ancho de banda por poner las imágenes alojadas en su servidor en su página web? Agregue el siguiente código en la parte inferior de su archivo htaccess. para evitar hotlinking.
Options +FollowSymlinks #Protect against hotlinking RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?nombrededominio.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://nombredominio.com/img/no_robar_anchodebanda.gif[nc]
2. Bloquear todas las peticiones de los agentes de usuario (User Agents)
Es posible impedir que los agentes de usuario no deseados que podrían ser potencialmente perjudiciales o tal vez sólo para mantener la carga del servidor lo más bajo 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 ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] Order Allow,Deny Allow from all Deny from env=bad_bot
3. Redirigir a todos, excepto IPs especificado
Si por alguna razón usted desea negar todos o permitir que sólo un grupo específico de direcciones IP para acceder a su sitio web, agregue el siguiente código a su 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 Friendly SEO
Si usted ha transferido los nombres de dominio o desea redirigir una página o páginas sin tener pena de los motores de búsqueda como Google, utiliza el siguiente código:
Redirect 301 /d/file.html http://www.domainname.com/r/file.html
5. Creación de una página para cada tipo de error
Si eres tan cansado como yo de la configuración por defecto de 404 páginas de error? Bueno, ahora usted puede crear fácilmente su propio diseño y se refieren a ella como esto:
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
6. Crear una lista de IP Prohibidas
¿Cansado de recibir los mismos comentarios de un usuario específico 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 [email protected]
8. Desactivar la pantalla de solicitud de descarga
Por lo general, al descargar algo de un sitio web, se le pedirá si desea abrir el archivo o guardarlo en tu PC. Para evitar eso, utilice el siguiente código:
AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov
9. Proteger un archivo específico
El código siguiente le permite denegar el acceso a cualquier archivo que se desea lanzando un error 403 cuando se está tratando de acceder. En el siguiente ejemplo que he elegido para proteger el archivo. htaccess añadiendo una capa extra de seguridad.
#Protect the .htaccess File order allow,deny deny from all
10. Comprimir Componentes Con mod_deflate
Como alternativa a los archivos de compresión con Gzip, puede utilizar mod_deflate (que se debe a la idea más rápido). Coloque el siguiente código en la parte superior de su archivo htaccess (consejo: también puede agregar jpg | gif | png | tiff | ico mod_deflate…).:
SetOutputFilter DEFLATE
11. Agregar encabezado que Expira
El código siguiente muestra cómo agregar una fecha de caducidad en las cabeceras.
Header set Expires "Wed, 21 May 2010 20:00:00 GMT"
12. Configuración de la página de inicio 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
Usted puede habilitar la autenticación de contraseña para cualquier archivo o directorio en el servidor mediante el siguiente código:
#password-protect a file AuthType Basic AuthName "Prompt" AuthUserFile /home/path/.htpasswd Require valid-user # password-protect a directory resides AuthType basic AuthName "This directory is protected" AuthUserFile /home/path/.htpasswd AuthGroupFile /dev/null Require valid-user
14. Redirigir un dominio antiguo a un nuevo dominio
Al usar el archivo htaccess. puede redirigir un nombre de dominio de edad a un nuevo dominio, agregue el código siguiente en el archivo htaccess. Básicamente lo que hace es que va a volver a asignar el dominio antiguo al nuevo.
#Redirect from an old domain to a new domain RewriteEngine On RewriteRule ^(.*)$ http://www.nombrededominio.com/$1 [R=301,L]
15. Forzar el cacheo
El código siguiente no directamente a aumentar la velocidad de carga de su sitio web. Lo que hará es cargar el contenido de su sitio más rápido cuando el mismo usuario vuelve a visitar su sitio web mediante el envío de 304 componentes de estado cuando pidió no han sido modificados. Usted puede cambiar la caducidad de la caché al cambiar el número de segundos (que es actualmente de 1 día).
FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds"
16. Comprimir Componentes Al permitir Gzip
Al hacer uso de Gzip puede comprimir los archivos a fin de que su carga de página web más rápido.
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
17. Eliminar «category» de una URL
Para transformar esta url: http://nombredominio.com/category/blue a – http://nombredominio.com/blue>, sólo tiene que añadir el siguiente código en la parte inferior de su archivo. htaccess.
RewriteRule ^category/(.+)$ http://www.tudominio.com/$1 [R=301,L]
18. Deshabilitar la navegación del repertorio
Para evitar que las personas tengan acceso a los directorios que pueden contener información valueble o revelar las debilidades de seguridad (por ejemplo, directorios plugin de wordpress), agregue el siguiente código a su archivo htacess.:
Options All -Indexes
19. Redirigir feeds de WordPress a FeedBurner
El siguiente fragmento de código redirecciona alimentación por defecto de WordPress feedburner RSS de.
#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]
20. Denegar Comentarios de usuarios fantasmas
El problema es que los robots sólo enviar comentarios acerca de cómo aumentar tus partes privadas de todo, naturalmente, a sus blogs, sin que lleguen desde cualquier otro sitio. Es como que caen del cielo. Este truco aseado impide a las personas publicar si no vienen de otro lugar (se puede comentar muy bien si vinieran de google por ejemplo).
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
21. Quitar archivo de extensión de dirección
Gracias a Kartlos Tchavelachvili para éste. Lo que el código se hace es, quita la extensión php. (se puede cambiar a lo que quiera por ejemplo, HTML) en una URL. Esto hace que la más bonita y SEO URL amigable.
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
22. Eliminar www de la URL
Gracias a Mahalie para los siguientes dos. htaccess códigos.
Si quieres que te saque la www de la URL de su sitio web y transformarlo desde http://www.ejemplo.com en http://ejemplo.com, agregue lo siguiente al archivo. htaccess.
#remove www from URI RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.dominio\.com$ [NC] RewriteRule ^(.*)$ http://dominio.com/$1 [L,R=301]
23. Añadir barra diagonal a URL
Algunos motores de búsqueda para quitar la barra al final de la URL que se parecen a directorios – por ejemplo, Yahoo lo hace. Sin embargo, que podría resultar en problemas de contenido duplicado cuando el contenido de la misma página se puede acceder con diferentes URL. El siguiente código se asegura de que hay una barra al final de la URL:
#trailing slash enforcement RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !# RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://dominio.com/$1/ [L,R=301]
24. Quitar el www. de la URL de su sitio web
A continuación he incluido un fragmento htaccess simples para quitar fuerza el «www» del URL de su sitio web.
# Redirect if www.tudominio.com to tudominio.com RewriteCond %{HTTP_HOST} ^www\.ejemplo\.com [NC] RewriteRule (.*) http://ejemplo.com/$1 [R=301,L]
Fuente: DevMoose
Traducido por: El Saber 21
Hola webmaster…
Son muy interesantes los codigos del htaccess que muestras en la web. He echo un descubrimiento SEO muy importante, pero necesito un poco de ayuda para estar 100% seguro sobre mi descubrimiento y compartirlo con quien este al día con el SEO.
Resulta que he encontrado un dominio http://ejemplo.com/ que utiliza WordPress y muestra su contenido correctamente.
Lo que me llama la atención es que cuando accedo al dominio de esa manera; http://ejemplo.com/index.html me muestra el servidor donde esta alojado el mismo, y mantiene esa dirección aunque utilices las pestañas de navegación de su servidor.
Lo que también me llamo la atención es que el dominio fue contratado hace menos de 6 meses y esta en la primera posición de Google por una palabra clave Muy…Muy Competitiva, tratando se del nicho de Dinero.
Creo que esta redirección tiene mucho que ver con esa extraña técnica de SEO y quizas la araña trata su dominio como una parte del propio servidor donde esta alojado.
Mi pregunta es la siguiente: ¿Crees que esta utilizando un iFrame para la redireccion, o es una modificación del archivo htaccess, o algún ajuste del servidor? Creo que ha ocupado el primer lugar en tan poco tiempo , porque la araña lo trata como parte del servidor con su Page Rank, etc…
Gracias
Buen articulo, deberías ampliarlo con una segunda parte.
buen articulo, una gran ayuda para webmaster para poder hacer las paginas web