.htaccess Perfecto para WordPress

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)

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(9 votos, promedio: 3)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

47 comentarios en “.htaccess Perfecto para WordPress”

  1. @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 🙂

  2. 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

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

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

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

  6. Pingback: Wordpress 2.6 » blogpocket 7.0

  7. Pingback: Planeta WordPress » Wordpress 2.6

  8. 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 )

    ¿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

  9. Pingback: El archivo htaccess « Camyna.com

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

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

    1. 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 domainpublic_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!

  12. 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)

  13. Pingback: Mejorar la seguridad de tu Wordpress

  14. 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.

      1. @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

  15. 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

  16. Pingback: nuevo archivo

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

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

  19. Pingback: 100 recursos para mejorar tu blog | Bloguismo

  20. 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.

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

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

  23. Joseph Huanca Cardenas

    Mi sitio web (www.librosparadescargargratis.com) no se visualiza correctamente, al ingresar, en lugar de mostrarse las dós últimas entradas (configure el sitio para que se muestren las dos últimas entradas), sale la opción de búsqueda. Qué puede estar pasando, será el .htaccess?

    El cógido que tengo en el el .htacces es el siguiente:

    # -FrontPage-

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

    order deny,allow
    deny from all
    allow from all

    order deny,allow
    deny from all

    AuthName librosparadescargargratis.com
    AuthUserFile /home/librospa/public_html/_vti_pvt/service.pwd
    AuthGroupFile /home/librospa/public_html/_vti_pvt/service.grp

    # BEGIN WordPress

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

    # END WordPress

  24. 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

  25. Tengo un alojamiento que me permite tener 3 webs. He seguido los pasos que me indica el server que es crear una carpeta nueva para alojar una nueva página de wordpress. Allí he instalado la nueva página. El problema que tengo es que puedo acceder a la pagina, pero cuando intento ir a las paginas o post, la url que mi indica es:

    Y yo quisiera que saliera:

    Es decir que omitiera la url de la pagina que ocupa el principal. Es decir que sean urls amigables. He estado leyendo y hay que tocar el htaccess pero lo hago y cuando eso ocurre, o no funciona y sigo viendo las mismas urls o lo cambia y entonces no consigo ir a ningun lado pq no me cargan las paginas, ni siquiera la de logarme en elwordpress.

    Este es el htaccess que tengo:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^http://www.bocaorella.cat$ [NC]
    RewriteRule ^(.*)$ [F]

    Donde bocaorella es la pagina principal del server y todosketchup la carpeta del dominio aparcado.

    He intentado realizar el paso que indicas como url canónica pero tampoco funciona, los del servidor se lavan las manos dicendo que es cosa del wordpress, que el .htaccess del primer dominio impide que actue el del segundo pero no consigo arreglarlo. 

  26. 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?

  27. Gracias por tu publicacion…. Llevaba investigando un error 403 al personalizar mi tema y bendita solucion me has dado. Muchas Gracias!!!! muy buena tu publicacion.

  28. Pedro Luis Merino

    Hola, yo estoy teniendo un problema con un blog en el que no se ven las imágenes, ni las que subo yo ni las que vienen por defecto en el WordPress, como los iconos de administración, etc… Todo texto plano.

    Viendo los comentarios he comprobado una diferencia en el .htaccess que no sé si es importante, yo tengo puesto:

    #The next line modified by DenyIP
    order allow,deny
    #The next line modified by DenyIP
    #deny from all
    allow from all

    order deny,allow
    deny from all

    Y en otros sitios he visto, por ejemplo:

    order deny,allow

    No sé cuál es la correcta, además si el poner # en la 5ª línea, que en otras configuraciones no aparece, es quien está provocando el problema.

    El caso es que en varios blogs del mismo servidor todo funciona bien, pero en uno nuevo que acabo de instalar, que está en blanco del todo, que tiene el mismo htaccess que los demás -salvo lo específico al dominio y base de datos- no se ve ningún tipo de imágenes, ni iconos, sólo texto.

    ¿Alguien puede ayudarme con la solución?

  29. Luis Sorel Morales Cruz

    Hola que tal, yo tengo un problema un amigo me pidió que le ayudase a hacer una página para su hostal, el caso es que cuando alguien quiere entrar a la misma le manda un mensaje donde pide el usuario y la contraseña del CPanel es que acaso tiene que ver el archivo .htaccess o alguien podría ayudarme la pagina es http://www.hostalosamigosdeoaxaca.com.mx, realmente me ayudaría que alguien me orientara ya que cuando le doy en cancelar pues me deja entrar a la página pero no me muestra las imágenes

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido