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