A continuación 10 fragmentos de código de .htaccess compilados por catswhocode. Antes de comenzar a editar el archivo recuerda realizar un respaldo de tu archivo .htaccess original.
Agregar o remover www de la URL
Por motivos de SEO, quizás siempre necesitas remover o usar el prefijo www en tu URL. El siguiente fragmento de código remueve el www de tu url y redirigiéndolo a cualquier url con el prefijo www o a la versión sin www. Sólo modifica las líneas 2 y 3 con la url de tu sitio.
Remover www
Remover www
RewriteEngine On RewriteCond %{HTTP_HOST} !^tu-sitio.com$ [NC] RewriteRule ^(.*)$ http://tu-sitio.com/$1 [L,R=301]
Agregar www
RewriteEngine On RewriteCond %{HTTP_HOST} ^tu-sitio.com [NC] RewriteRule ^(.*)$ http://www.tu-sitio.com/$1 [L,R=301]
Hotlinking es una mala práctica que consiste en usar imágenes en tu sitio web que se encuentran en otro sitio web. Cuando alguien hace hotlinking de alguna imagen en tu sitio, utiliza tu ancho de banda lo cual es un beneficio para ese alguien. Para prevenir esto sólo agrega el siguiente fragmento de código a tu .htaccess después de reemplazar las urls que vienen de ejemplo por tus url. Recuerda modificar la línea 3 con la url de tu sitio y la línea 6 con la ruta a la imagen que no tendrá hotlink.
RewriteEngine On #reemplaza ?misitio\.com/ con la url de tu blog RewriteCond %{HTTP_REFERER} !^http://(.+\.)?misitio\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #reemplaza /images/nohotlink.jpg con la ruta a la imagen que no tendra "hotlink" RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
Redireccionar los feeds de WordPress a Feedburner
Feedburner es un servicio web que te permite saber cuántas personas han leído tu blog vía feeds. Si utilizas WordPress, lo que debes hacer es redirigir todos los feeds de WordPress (rss, atom, etc) a tu Feedburner. En el siguiente fragmento de código reemplaza las líneas 2 y 3 con los datos de tu feedburner, y después colócalo en tu archivo .htaccess.
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/ RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/yourfeed/
Fuente: http://www.wprecipes.com/how-to-redirect-wordpress-rss-feeds-to-feedburner-with-htaccess
Crea páginas de error personalizadas
Si estás cansado de las mismas páginas de error viejas y aburridas de tu sitio web, puedes crear algunos archivos html con el diseño que desees, súbelas a tu servidor y añade lo siguiente a tu archivo .htaccess modificando 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
Fuente: http://css-tricks.com/snippets/htaccess/custom-error-pages/
Fuente: http://www.givegoodweb.com/post/30/forcing-a-download-with-apache-and-htaccess
Forzar la descarga de archivos específicos
Cuando en tu sitio tienes archivos mp3s, eps, xls, etc. para ser descargados, se puede forzar a que se descarguen en vez de dejar que el navegador decida que hacer.
El siguiente fragmento de código forzará la descarga de archivos .xls y .eps (el * significa que coincida con cualquier nombre de archivo, seguido de la extensión del archivo) en la ruta indicada así como sus subdirectorios.
<files xls=""> ForceType application/octet-stream Header set Content-Disposition attachment </files> </files eps=""> ForceType application/octet-stream Header set Content-Disposition attachment <files>
Fuente: http://www.givegoodweb.com/post/30/forcing-a-download-with-apache-and-htaccess
Crea un registro de errores PHP
El siguiente fragmento de código proporciona una manera de registrar errores de archivos PHP en un archivo de registro de errores y además previene mostrarle estos errores al usuario. Sólo crea un archivo php_error.log en tu servidor, modifica la línea número 7 del fragmento que es la ruta al archivo creado (php_error.log) y añadelo a tu archivo .htaccess.
# no muestra errores a usuarios php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off # registro a archivo php_flag log_errors on php_value error_log /ruta/a/php_error.log
Fuente: http://css-tricks.com/snippets/htaccess/php-error-logging/
Retirar las extensiones de archivo de urls
Las extensiones de archivos pueden ser útiles para los desarrolladores, pero no hay necesidad de que los usuarios de tu sitio web las vean (además puede mejorar o acortar las url). El siguiente fragmento de código retira las extensiones .html de cualquier archivo html, pero puede ser fácilmente adaptado para retirar cualquier extensión.
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html # reemplazaa html con otra extension, ej: eg: php, htm, asp
Si quieres agregar un diagonal ("/") al final de la url sin la extensión del archivo agrega el siguiente fragmento después del fragmento anterior.
# anade un diagonal al final RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ RewriteRule (.*)$ /$1/ [R=301,L]
Evitar listado de directorios
En tu sitio web cuando una carpeta no tiene un archivo "index", Apache automáticamente despliega un listado con todos los archivos en la carpeta accesada. Si lo que no quieres es que todos vean los archivos que están en tu servidor, solo añade la siguiente línea a tu archivo .htaccess.
Options -Indexes
Reducir peso de las páginas comprimiendo información estática
¿Sabías que es posible enviar información comprimida a los visitantes de tu sitio, y que será descomprimida por el cliente? Este fragmento de código te ahorrará (y a tus visitantes también) ancho de banda y reducirá 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, puedes forzar a utilizar una codificación específica desde tu archivo .htaccess. De esta manera te asegurarás que tus archivos html se desplieguen con su charset correcto aunque olvides colocar la etiqueta <meta http-equiv="Content-Type"> directamente en tus archivos html.
<FilesMatch "\.(htm|html|css|js)$"> AddDefaultCharset UTF-8 </FilesMatch>
Fuente: http://www.askapache.com/htaccess/setting-charset-in-htaccess.html
¡Saludos!
Artículo original: http://www.catswhocode.com/blog/10-useful-htaccess-snippets-to-have-in-your-toolbox
¡Saludos!
Artículo original: http://www.catswhocode.com/blog/10-useful-htaccess-snippets-to-have-in-your-toolbox
No comments :
Post a Comment