26jul
37

Son ya varias veces las que hemos aprendido como mejorar aspectos de nuestro blog WordPress configurando adecuadamente el fichero .htaccess, pero esto es un paso adelante.

Y recordé que Josiah Cole publicó un fichero .htaccess que se planteaba como “casi” perfecto para un blog WordPress. Y lo es, sobre todo en aspectos de seguridad puede mejorar muchos enteros tu blog.

Las líneas que comprende están pensadas para que sustituyan el contenido completo de tu .htaccess actual, salvo que necesites alguna modificación que deba incluir algún plugin o alguna redirección que hubieses incluido anteriormente.

El proceso es bien sencillo:

  1. Haz copia de tu .htaccess anterior para referencia posterior o incluir redirecciones, etc.
  2. Abre tu editor de texto plano preferido (no vale Word o similares) como TextEdit en Mac o Notepad Plus en Windows.
  3. Incluye este código en el archivo:
    # protege el fichero htaccess
    order allow,deny
    deny from all
    
    # desactiva la firma del servidor
    ServerSignature Off
    
    # limita la carga de archivos a 10mb
    LimitRequestBody 10240000
    
    # protege wpconfig.php
    order allow,deny
    deny from all
    
    #quien tiene acceso y quien no
    order allow,deny
    
    #denegar desde 000.000.000.000
    allow from all
    
    #documentos personalizados de error (lo cambias por los tuyos)
    ErrorDocument 404 /notfound.php
    ErrorDocument 403 /forbidden.php
    ErrorDocument 500 /error.php
    
    # desactiva la navegacion de directorios
    Options All -Indexes
    
    #redirige un dominio viejo al nuevo - si es necesario
    Redirect 301 /viejo.php http://tudominio.com/nuevo.php
    
    #bloquea los dominios indicados
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} meneame.com [NC]
    RewriteRule .* - [F]
    
    #desactiva el robo de imagenes con la opcion de una imagen personal
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www.)?tudominio.com/.*$ [NC]
    #RewriteRule .(gif|jpg)$ - [F]
    #RewriteRule .(gif|jpg)$ http://tudominio.com/imagen_robada.gif [R,L]
    
    # compresion php - usar con precaucion
    php_value zlib.output_compression 16386
    
    # establece la url canonica (amigable)
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^tudominio.com$ [NC]
    RewriteRule ^(.*)$ http://www.tudominio.com/$1 [R=301,L]
    
    # protege de comentarios spam
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post.php*
    RewriteCond %{HTTP_REFERER} !.*tudominio.com.* [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
    RewriteRule ^post/([0-9]+)?/?([0-9]+)?/?$ /index.php?p=$1&page=$2 [QSA]
  4. Guarda el archivo como “htaccess.txt” (sin las comillas9
  5. Sube el fichero a la carpeta donde tienes instalado WordPress
  6. Renombra el archivo a ‘.htaccess’ (sin las comillas y ojo que no se te olvide el punto antes del nombre)

Ya lo tienes, un .htaccess perfecto para WordPress (o casi)

Para saber más:

  • http://kquijada.com/blog/ Kquijada

    A mi no me funciono ese archivo :s

  • http://www.durmiendoafuera.com/ dIEGO | Durmiendo Afuera

    aquí se viene la pregunta ignorante:
    que beneficios tendría hacer esto?

  • http://fernandotellado.com/ Fernando Tellado

    @Kquijada: ¿que no te funcionó?, tiene muchas cosas, y no hay que ponerlo todo, solo lo que necesites.

    @dIEGO: depende, hay muchas líneas, cada una para una cosa, por eso hay comentarios que indican lo que hace cada una :)

  • http://tlachco.tk evcorreu

    Hola

    Felicidades, de verdad que esta web e a resuelto la vida varias veces y ahora me sucede algo que no me había pasado, sucede que estoy revisando el hosting de un nuevo blog que estoy montando, me encuentro con que no esta el .htaccess por ningun lado, esto no me había sucedido antes, ya cambie las opciones de mis ftp para mostrar todos los archivos, tendre que crearlo yo mismo? alguien sabe?
    Gracias

  • http://www.power.org.mx/blog/ Power

    Excelente tip, el manejo de el htaccess ya se ha vuelto muy necesario hoy en día, sobre todo para WP

  • http://fernandotellado.com/ Fernando Tellado

    @evcorreu: Puedes crearlo tu mismo o, mejor, dejar que lo cree WP al actualizar los permalinks (enlaces permanentes) y luego añadirle estas cosas ;)

  • http://lackfer.tk Lackfer®

    mejor que dejes un archivo de texto adjunto, algunos codigos no están… como el para proteger el archivo .htaccess y el wp-config..

  • http://kquijada.com/blog/ Kquijada

    Fernando no me funciona, cuando lo subo al host me muestra una de las lineas de del htaccess cuando la pagina no es encontrada…

  • http://lackfer.tk Lackfer®

    para que les funcione, revisenlo del post original aqui

  • Pingback: XeroLinks X | XeroBlog - Blogging - SEO - Consejos y Recursos para Bloggers

  • Pingback: Wordpress 2.6 » blogpocket 7.0

  • Pingback: Planeta WordPress » Wordpress 2.6

  • http://romulosoto.blogspot.com Rómulo

    Buenos días:
    He copiado el código y realizado los cambios respecto al domninio y ruta de archivos (como el del error 404) pero no me funciona. Tampoco el creado para evitar el hotlink. En este caso desmarqué el # de las 2 últimas líneas para habilitar, con la última, el dominio correcto.

    He probado el hotlinkng desde esta página

    http://altlab.com/hotlinkchecker.php

    pero sigue cargándo la imagen que pongo de prueba (http://mastersdesigners.com/wp-content/uploads/regresar.jpg)

    ¿Estaré haciendo algo mal?. Por favor, si alguien me puede orientar.

    Un saludo desde Lima,Perú
    Muchas gracias.

    PD.
    Ya revisé el artículo original en inglés y nada, y por supuesto, el .htaccess esta en la raíz de mi hosting, en la carpeta www

  • Pingback: El archivo htaccess « Camyna.com

  • Pingback: Diseño web Sevilla. Puesto 1. | Diseño web Sevilla

  • Pingback: Posicionamiento web en Sevilla, puesto 1 | antoniovelo.com

    • Ana

      Hola a todos!!
      Yo tengo instalado wordpress 2.9.2 y tengo problemas con el flash uploader aparece el error de http error..crunching si subo las fotos con la opcion del browser uploader funciona bien el problema es que tengo que cargar varias fotos mi archivo .htaccess se instalo en la siguiente ruta domain\public_html\.htaccess con el siguiente codigo
      RewriteEngine on

      # -FrontPage-

      IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

      order deny,allow
      deny from all
      allow from all

      order deny,allow
      deny from all

      AuthName domain
      AuthUserFile /home/folder/public_html/_vti_pvt/service.pwd
      AuthGroupFile /home/folder/public_html/_vti_pvt/service.grp

      RewriteCond %{HTTP_HOST} ^domain$ [OR]
      RewriteCond %{HTTP_HOST} ^www.domain$
      RewriteRule ^/?$ “http\:\/\/www\.domain\.net\/domain” [R=301,L]

      y yo le agregue lo siguiente para ver si lo podia hacer funcionar!!!>>>

      RewriteEngine On
      RewriteBase /domain/
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /folder/index.php [L]

      #BEGIN Image Upload HTTP Error Fix

      SecFilterEngine Off
      SecFilterScanPOST Off

      SecFilterEngine Off
      SecFilterScanPOST Off

      SecFilterEngine Off
      SecFilterScanPOST Off

      #END Image Upload HTTP Error Fix
      ahora ya no me aparece el mismo error de “HTTP Error Crunching” sino que parece como si subiera la foto pero en el recuadro donde deberia de aparecerme la opcion para editar la foto me aparece mi pagina principal,,es decir en ves de llamar a la forma de edicion manda a llamar a mi pagina principal,,,y ya no se que puedo hacer mas!!
      Por favor si alguien pudiera ayudarme,,,se los agradeceria mucho
      saludos!

  • http://www.piurifa.com George!

    Hola Fernando, como te va?
    Mira, hace unos días vengo renegando con esto del htaccess, la verdad que me ha traido problemas con la version 2.7 de WordPress…

    Ya que no puedo editar nada desde mi panel, hablando de permalinks, etc.

    Me gustaria saber que tengo que editar de mi htaccess para poder manejar mis permalinks a gusto. Ya sea, por fecha y dia, numericos, etc.. :)

    Agradeceria tu respuesta, muchas gracias por el servicio diario… (Y)

    • http://fernandotellado.com/ Fernando Tellado

      @George: pues si te da problemas lo mejor es que lo borres, modifiques tus permalinks y dejes que WP lo cree de nuevo por ti ;)

  • http://www.posicionamientosweb.info/blog Rei

    Saludos desde Perú.

    Tengo el wordpress instalado en una carpeta, ¿igual funciona?
    Gracias

  • http://www.trellat.com Trellat

    GRacias, me habéis salvado, me estaba volviendo loco.
    saludos

  • Pingback: Mejorar la seguridad de tu Wordpress

  • http://www.arteryu.com A.b. Contreras

    una consulta rapida, si pongo el codigo para desactivar la navegacion de directorios, tambien afecta a los bots de google, afecta al seo?

    Gracias por su atencion.

    • http://fernandotellado.com/ Fernando Tellado

      Pues no debería porque Google indexa contenido no carpetas ;)

      • http://pulse.yahoo.com/_QFZ34WWVVLVVESKYYM66UVQBNQ daniel

        @Fernando Hay una Forma que Wp Cree este alchivo Solo?? si la decidad de que yo tenga que crearlo? por que sincera mente no entiendo nada de lo que pusiste mas ariba toda esa linea de codigo me ponen loco!! mas que todos post de mi website me dan 404 Error – Not Found !! pero mi htaccess tiene esta line de codigo Pero no funciona!!
        # BEGIN WordPress

        RewriteEngine On
        RewriteBase /
        RewriteRule ^index.php$ – [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]

        # END WordPress

  • http://ayuda alejandro

    Hola, te cuento. Tengo el blog http://www.otromundoverde.com/blog
    El tema es q no me crea el htaccess. Y si lo creo a mano y lo tiro en el dir del wp no me toma efecto.
    A su vez cuando cambio el permalink me da error.. me parece que es por que no puede crear el archivo. Mismo probe con los plugins “redirector”, “Dean’s Permalinks Migration”, “Permalink Redirect” y siempre sucede igual. En cuanto cambio el permalink intento accerde a http://www.otromundoverde.com/blog y da error, ahora, si le agrego el index.php anda bien . A su vez a las notas, les pone el formato nuevo que defino en el admin de wordpress pero ninguna funciona si salgo del formato de url actual…..
    Por favor. su ayuda,.

    Agracias

  • Pingback: nuevo archivo

  • Pingback: Como crear un archivo .htaccess para usarlo con un blog wordpress | Zona informatica

  • http://wwww.descargaya.net Daniel

    gracas pana me fue muy util

  • Pingback: .htaccess Perfecto para WordPress | Ayuda WordPress :: La Gaceta del Norte

  • Pingback: 100 recursos para mejorar tu blog | Bloguismo

  • freedevelopers

    Las lineas 2, 3 y 12, 13 hacen lo mismo indicándose en el comentario 2 tareas “supuestamente” diferentes pero al ser la misma orden y no especificar no es muy coherente, es que está mal copiado del artículo original le falta el: files .htaccess para especificar el archivo en cada caso.

  • http://www.geekcode.tk Emmanuel

    Oye que plugin utilizas o como le haces para insertar ese codigo del htaccess con estilo y el texto plano, Gracias

    • http://fernandotellado.com/ Fernando

      Uso este, algo modificado pero básicamente el original

  • Pingback: Algunas consideraciones sobre la instalación de Wordpress | know-how.com.es

  • http://www.guitarrachichera.info Info

    Hola como hago para que mi pagina deje de ser pagina duplicada, y solo para que funcione con www y sin www o alguien sabe de htaccess, por fqvor responder mi mensaje…Gracias

  • Jaimebenasque

    buenas, varias preguntas de novato:

    pone que hay que añadir ese código al archivo, pero, ¿hay que escribir algo más al principio y final? me refiero a si copiando y pegando eso en el archivo funcionará o tiene que ir algo más?