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:
- Haz copia de tu .htaccess anterior para referencia posterior o incluir redirecciones, etc.
- Abre tu editor de texto plano preferido (no vale Word o similares) como TextEdit en Mac o Notepad Plus en Windows.
- 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]
- Guarda el archivo como «htaccess.txt» (sin las comillas9
- Sube el fichero a la carpeta donde tienes instalado WordPress
- 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)
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
A mi no me funciono ese archivo :s
aquí se viene la pregunta ignorante:
que beneficios tendría hacer esto?
@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 🙂
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
Excelente tip, el manejo de el htaccess ya se ha vuelto muy necesario hoy en día, sobre todo para WP
@evcorreu: Puedes crearlo tu mismo o, mejor, dejar que lo cree WP al actualizar los permalinks (enlaces permanentes) y luego añadirle estas cosas 😉
mejor que dejes un archivo de texto adjunto, algunos codigos no están… como el para proteger el archivo .htaccess y el wp-config..
Fernando no me funciona, cuando lo subo al host me muestra una de las lineas de del htaccess cuando la pagina no es encontrada…
para que les funcione, revisenlo del post original aqui
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
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)
@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 😉
Saludos desde Perú.
Tengo el wordpress instalado en una carpeta, ¿igual funciona?
Gracias
GRacias, me habéis salvado, me estaba volviendo loco.
saludos
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.
Pues no debería porque Google indexa contenido no carpetas 😉
@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
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
gracas pana me fue muy util
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.
Oye que plugin utilizas o como le haces para insertar ese codigo del htaccess con estilo y el texto plano, Gracias
Uso este, algo modificado pero básicamente el original
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
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
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.
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?
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.
¿Hay alguna forma de bloquear el acceso a wp-login y wp-admin para que solo pueda entrar mi ip?
Si claro, es un poco radical pero mira: https://ayudawp.com/restringir-acceso-a-wp-…
Buen aporte, me ha resuelto un problemita que tenia. Muchas Gracias
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?
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
Buffff
Muy bueno! Me sirvió! Gracias