Es un archivo del  Apache web server, es muy util  ya que sirve hacer modificaciones en  nuestra  página web .  Me di a la tarea de investigar  10 formas cambios que puedes hacer en tu web con  .htaccess. Recuerda hacer un respaldo de tu archivo .htaccess antes de hacer cualquier cambio.

Eliminar el www de la URL

Para el  SEO de tu pagina web  quizás necesites  eliminar  añadir el prefijo www a la URL. A que estes buscando el posicionamiento  como hola .com o www.hola.com. En  el siguiente ejemplo para eliminar el  www, re direccionando cualquier url con www hacia una versión sin el prefijo.

 

RewriteEngine On

RewriteCond %{HTTP_HOST} !^your-site.com$ [NC]

RewriteRule ^(.*)$ http://your-site.com/$1 [L,R=301]

 

Fuente: http://css-tricks.com/snippets/htaccess/www-no-www/

Evitar el hotlinking

El  hotlinking  es una práctica muy común,  esta consiste en  utilizar imágenes alojadas  en otra página web en otro  sitio. Realmente esta acción, puede ser molesta para el dueño de la página y de la imagen. Cuando un usuario  hace hotlink en  una imagen nuestra, está utilizando  nuestro ancho de banda y nuestro hosting para su beneficio puede que él no lo sepa sin embargo nos esta perjudicando. Para evitar el hotlink se deben añadir al .htaccess  los siguientes códigos, reemplazando con nuestra información y removiendo el numeral # que antecede cada línea una vez que ha sido  modificada.

RewriteEngine On

#Replace ?mysite.com/ with your blog url

RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

#Replace /images/nohotlink.jpg with your "don't hotlink" image url

RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

Redireccionar los feeds de WordPress a Feedburner

 

Cuando utilizas el servicio de  Feedburner en WordPress necesitaras que todos los feeds sean dirigidos al servicio en cuestión  ya que la antigua dirección del  feeds de WordPress queda disponible (tublog.com/feed). Para lograr esto es necesario  modificar   nuestros datos y colocarlos  en nuestro .htaccess:

 

<IfModule mod_alias.c>

 RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/

 RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/

</IfModule>

 

Crear páginas de error personalizadas

Sabemos que  las viejas páginas de error son molestas. Es posible crear algunos archivos .html para lograr personalizar cada error de un modo un poco más creativo. Simplemente hay que añadir las siguientes líneas al .htaccess con la ruta a cada página personalizada.

 

ErrorDocument 400 /errors/badrequest.html

ErrorDocument 401 /errors/authreqd.html

ErrorDocument 403 /errors/forbid.html

ErrorDocument 404 /errors/notfound.html

ErrorDocument 500 /errors/serverr.html

Forzar la descarga de ciertos archivos

Cuando ofreces el servicio de  archivos como  .mp3 o .xls  en  la descarga de tu  página web, se puede forzar la descarga en vez de permitir que el navegador decida qué hacer. Con este snippet se fuerza la descarga de los archivos .xls y .eps. Se puede modificar para cualquier extensión.

 

<Files *.xls>

  ForceType application/octet-stream

  Header set Content-Disposition attachment

</Files>

<Files *.eps>

  ForceType application/octet-stream

  Header set Content-Disposition attachment

</Files>

Crear archivo de errores PHP

Este snippet  proporciona una opción  interesante de almacenamiento de los errores de PHP en un archivo. Debemos crear el archivo php_error.log y subirlo a nuestro servidor, luego agregar las siguientes líneas a nuestro .htaccess. No olvides modificar la línea con la ruta al log de errores.

 

# display no errs to user

php_flag display_startup_errors off

php_flag display_errors off

php_flag html_errors off

# log to file

php_flag log_errors on

php_value error_log /location/to/php_error.log

Eliminar la extensión de los archivos de las URLs

Las extensiones de archivo son necesarias para los  desarrolladores, pero para los visitantes de tu web no es estético estarlas viendo. Con este codigo puedes remover las extensiones .html. Se puede adaptar para otras extensiones.

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}.html -f

RewriteRule ^(.*)$ $1.html

# Replace html with your file extension, eg: php, htm, asp

 

 

Impedir el listado del directorio

 

En el servidor web Apache, cuando un directorio no  tiene  un archivo index se  hace una lista automática de los archivos incluidos en el directorio en cuestión. Si deseamos evitar esta acción para que no se vean los archivos, debemos añadir:

Options -Indexes

Comprimir información estática para hacer más ligera la página web

Si pensaste que enviar información comprimida a los visitantes era imposible, aquí te decimos como. Este código ayuda a ahorrar ancho de banda y reduce el peso de las páginas.

 

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

 

Añadir automáticamente charset UTF-8 a los archivos

Para  prevenir problemas de codificación indicando el charset desde el .htaccess,  aseguras que todos los archivos tenga el charset adecuado.

 

<FilesMatch ".(htm|html|css|js)$">

AddDefaultCharset UTF-8

</FilesMatch>

 

Fuente:

askapache