¿Estás familiarizado con el archivo .htaccess de WordPress? El fichero
.htaccess(archivo de acceso a hipertexto) es un archivo de configuración del nivel de directorio que permite la gestión descentralizada de la configuración del servidor web. Un archivo .htaccess
es siempre agregado en el directorio raízy con él se pueden modificar muchos parámetros de configuración de Wordpress.
Con el fichero .htaccess puedes editar la configuración del servidor (server’s global configuration), el tipo de contenido (content type) y el conjunto de caracteres (character set). Con todas estas propiedades el archivo .htaccess se transforma en clave que asegurar y prosperar la funcionalidad de las páginas web y blogs que tengan una instalación Wordpress.
El archivo .htaccess es vital para hacer un buen trabajo de posicionamiento en motores de búsqueda. Como, en el momento de posicionar una página o bien blog en los motores de búsqueda como Google, lo uso para:
Cuando instalas WP se crea un
fichero .htaccess que WordPressusa por defecto, pero ese fichero puede ser mejorado, utilizando consejos como los que te ofrezco a continuación. Ten cuidado al implementarlos, y siempre y en todo momento guarda una copia de respaldo ya antes de mudar nada, por si acaso debes regresar hacia atrás :).
A continuación vamos con varios trucos traducidos de «» para saber
cómo configurar y optimizar .htaccess para eludir «Hackeos»que dificultarán y evitarán en gran medida la piratería en tu página web o bien weblog en Wordpress. Algunos de estos consejos son para:
Antes de continuar, tengo que dejar en claro que en este artículo muestro los consejos más esenciales para
configurar .htaccess para evitar «Hackeos», mas si lo que deseas es ahondar en el tema y configurar correctamente tu fichero .htaccess no puedes dejar de leer la(en inglés).
Apache puede ser empleado para bloquear usuarios o bots indeseados a nuestra página web o blog. Este código deja visitar la página web o weblog a cualquier persona, excepto a quien tenga las siguientes direcciones IP (cambiar las IPs con las IPs que quieras bloquear):
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 123.456.789
deny from 93.121.788
deny from 223.956.789
deny from 128.456.780
</LIMIT>
Lo primero que debes de hacer es acceder a tu panel de administración de Wordpress, ir a Ajustes → Links permanentes (permalinks) y elegir «personalizar». Rellena el campo con / por cien postname por cien /:
Ahora tenemos que redirigir todos y cada uno de los backlinks (links entrantes) utilizando la vieja estructura de enlaces permanentes (permalinks) a la nueva estructura de links permanentes. Para ello, tendrás que editar el archivo .htaccess. e insertar las siguiente líneas de código:
RedirectMatch trescientos uno /([0-9]+)/([0-9]+)/([0-9]+)/(.*) dólares americanos :////$ 4
Si quieres configurar unos links permanentes más óptimos, te recomiendo cambiar
/ por ciento postname por ciento /por
/ por ciento category por ciento / por cien postname por ciento /.
RewriteEngine on
RewriteCond por ciento REQUEST_URI !/maintenance.html$
RewriteCond por cien REMOTE_ADDR !^123.123.123.123
RewriteRule dólares americanos /maintenance.html [R=302,L]
RewriteEngine On
RewriteBase /
RewriteCond por ciento HTTP_HOST ^yourblogname.com [NC]RewriteRule ^(.*)$ / dólares americanos 1 [L,R=301]
RewriteEngine On
RewriteBase /
RewriteCond por ciento HTTP_HOST ^ [NC]RewriteRule ^(.*) dólares americanos / dólares americanos 1 [L,R=301]
# Set the canonical url
RewriteEngine On
RewriteCond por cien HTTP_HOST ^tu_dominio.com$ [NC]RewriteRule ^(.*) dólares americanos / dólares americanos 1 [R=301,L]
Este truco redirecciona /feed a .
# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond por ciento HTTP_USER_AGENT !FeedBurner [NC]RewriteCond por cien HTTP_USER_AGENT !FeedValidator [NC]RewriteRule ^feed/? grupo seo marca blanca [_0-9a-z-]+)?/?$ [R=302,NC,L]</IfModule>
# temp redirect wordpress comment feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond por ciento HTTP_USER_AGENT !FeedBurner [NC]RewriteCond por cien HTTP_USER_AGENT !FeedValidator [NC]RewriteRule ^comments/feed/?([_0-9a-z-]+)?/? dólares americanos [R=302,NC,L]</IfModule>
Utiliza el próximo código para redirigir a una página específica sin enseñar la antigua página de error.
<a class="_hootified" href="#" #seo"="" onclick="javascript:var e = document.createEvent("CustomEvent"); y también.initCustomEvent("hootletEvent", true, true, type: "hash", value: "#SEO"); document.body.dispatchEvent(y también); return false;">#SEO</a> Friendly trescientos uno Redirects
Redirect 301 /abc/file.html /def/file.html
Este código para el .htaccess no ayudará en la carga inicial de la página web o weblog, pero si lo hará significativamente en siguientes cargas mandando estados 304 cuando los elementos solicitados no se hayan modificado.
FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus x seconds"
Reemplaza la IP de la línea de código «with allow from xx.xx.xx.xx» con la tuya a fin de que sólo tu IP pueda acceder al panel de administración wp-admin de wordpress.
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Wordpress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>
Simple truco para eludir que los spammers publiquen o ataquen tu página web o weblog.
RewriteEngine On
RewriteCond por ciento REQUEST_METHOD POST
RewriteCond por ciento REQUEST_URI .wp-comments-post.php*
RewriteCond por ciento HTTP_REFERER !.*tu_dominio.com.* [OR]RewriteCond por ciento HTTP_USER_AGENT ^$
RewriteRule (.*) ^http:// por cien REMOTE_ADDR/$ [R=301,L]
Para bloquear ciertas direcciones IP para eludir que accedan a tu página web o weblog, añade las próximas líneas de código en tu archivo .htaccess y reemplaza la dirección IP del ejemplo con la que desees bloquear.
## USER IP BANNING
<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>
El archivo wp-config.php de WP incluye toda la información importante, como el nombre de base de datos. Es esencial tenerlo bien protegido.
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
Para limitar el tamaño de los archivo que subes en wordpress hasta 20MB, emplea el siguiente código:
# limit file uploads to 10mb
LimitRequestBody
# custom error pages
ErrorDocument cuatrocientos uno /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php
Para añadir una barra al final de tus links (URLs), inserta el siguiente código en tu fichero .htaccess:
<a class="_hootified" href="#" #trailing"="" onclick="javascript:var y también = document.createEvent("CustomEvent"); y también.initCustomEvent("hootletEvent", true, true, type: "hash", value: "#trailing"); document.body.dispatchEvent(e); return false;">#trailing</a> slash enforcement
RewriteBase /
RewriteCond por cien REQUEST_FILENAME !-f
RewriteCond por ciento REQUEST_URI !#
RewriteCond por cien REQUEST_URI !(.*)/ dólares americanos
RewriteRule ^(.*) dólares americanos / dólares americanos 1/ [L,R=301]
Una forma fácil de proteger a través de contraseña los directorios de tus blogs.
AuthType Basic
AuthName "restricted area"
AuthUserFile /usr/local/var//.htpasses
require valid-user
Este truco puede ser útil para auto-corregir errores ortográficos de tus enlaces (URLs).
<IfModule mod_speling.c>
CheckSpelling On
</IfModule>
Los complementos de wordpress acostumbran a tener «puertas traseras» y suelen ser sitios por los que los hackers pueden entrar en tu página web o bien weblog. Para eludir que otras personas tengan acceso directo a los archivos de tus plugins usa el próximo código:
<Files ~ ".(js|css)$ ">
order allow,deny
allow from all
</Files>
¿Te sabes algún truco más?
¡Añádelo en los comentarios!
Sin duda, una de las
mejores plataformaspara crear una,opara tu negocio, puesto que es fácil de usar, flexible y ofrece muchas opciones para personalizarla conforme a tus necesidades. Empieza con buen pie con WordPress y examina esta
completa guía.
Soy muchas cosas, mas todo empezó como
Blogger. Desde ahí he crecido como
especialista en Marketing Online, si bien con mucha experiencia en
Diseño Web,
Blogging,
SEOy
WordPress. Ayudo a
emprendedores y pequeñas empresasa crear, prosperar y potenciar su
presencia y visibilidad en Internet, con un
brandingfuerte, que inspire confianza y que
genere ventas.
Buenas noches Santiago,
Interesantisimo articulo. Lo pruebo desde ya. Específicamente el consejo #19:
order allow,deny
allow from all
¿Porque «allow» en la tercera línea y no «deny»? ¿En qué casos poner un segundo .htaccess en directorio secundario?
Hola Edward,
Ya pone «deny» y es suficiente, ya que bloqueas una parte, pero no todo. Con respecto a poner un segundo .htaccess, sólo se hace para directorios.
Saludos
Hola
Tengo una consulta. Tengo un alojamiento web compartido y todos los dominios están en la carpeta «public_html» y dentro de esa carpetita hay múltiples subcarpetas. Se que debo alterar algo en el htaccess, mas no encuentro el que.
Mi página esta dentro de «public_html» dentro de otra carpeta llamada «wp». Lo que deseo es que cuando la gente entre al lugar, en la barra de navegación muestra mi dominio sin el directorio «wp». Lo único que consiga es desde el alojamiento hacer que cuando la gente escribe mi dominio redirija al directorio ¿Ahora como hago para que la gente no vea el «wp» ni en la pagina primordial ni en ningún momento que este navegando por la pagina???
Gracias
Hola Leandro,
Muchas gracias por tu comentario. A ver, tu problema tiene una solución muy fácil y que te recomiendo. Podrías estar con redirecciones, mas es preferible desplazar todos y cada uno de los ficheros a la carpetita raíz del dominio (public_html). Así el dominio mostrará la web como quieres. Eso sí, ten cuidado al hacer esto, pues las imágenes, al tener «wp» en su link, puede que no se vean.
Lo mejor es que recurras a alguien que sepa hacerlo. Un saludo
Buenos días,
Muy interesante el artículo ¿Alguien podría ayudarme? QUiero hacer una redirección a un rango de IPs (a un país concretamente) de mi dominio a una carpeta del mismo dominio. Pruebo con:
RewriteCond por cien REMOTE_ADDR ochenta.*.*.* --> Deseo poner múltiples rangos de ips mas no sé como...
RewriteRule (.*) /carpeta [R=302,L]
Hola Carlos,
Gracias por tu comentario. Ya antes de responderte necesito que me des mas detalles de lo que verdaderamente precisas ¿Tan sólo deseas redireccionar tu dominio a un directorio del mismo dominio?
Un saludo
Excelente material como siempre y en todo momento Ignacio de veras felicitaciones, este tipo de consejos sobre el .htaccess por norma general son excelente, recientemente me pasaba con un hosting de malísima calidad sobre algo que tenían sur servidores que me borraba el archivo .htaccess de mi wordpress en el public_html. Merced a tus consejos contrate con los nuevos amigos de zz que de verdad pese a ser gratis su alojamiento web ofrecen alta calidad y bueno os recomiendo, pero he logrado aplicar algunos trucos aquí sobre el .htaccess a fin de que por servirnos de un ejemplo emplear un código dicho archivo para redireccionar a otra página y así muchas cosas, de verdad agradecido Ignacio que prosigan los exitosa.!
Hola Alvaro,
Gracias por tu comentario, me alegro de que mi contenido haya sido de tu utilidad y hayas conseguido solventar algunos inconvenientes de tu alojamiento. En ocasiones no es fácil dar con el distribuidor conveniente. Saludos!
Hola,
Muy interesante el articulo. Estoy actualizando mi web de http a https y me dicen que podría realizar una redirección de http:// a https:// forzando todas y cada una de las páginas de mi dominio a cargar usando dicho protocolo seguro desde .htaccess colocando el siguiente código:
RewriteEngine On
RewriteCond por ciento ENV:HTTPS !on [NC]
RewriteCond por cien HTTP_HOST ^tu_dominio\.com$ [OR]
RewriteCond por ciento HTTP_HOST ^www\.tu_dominio\.com dólares americanos
RewriteRule ^(.*)$ /$ 1 [R=301,L,NE]
Ya localicé la carpetita htaccess, y contiene el próximo código:
# BEGIN WordPress
RewriteEngine On
RewriteBase /website/
RewriteRule ^index.php dólares americanos - [L]
RewriteCond por cien REQUEST_FILENAME !-f
RewriteCond por cien REQUEST_FILENAME !-d
RewriteRule . /website/index.php [L]
# END WordPress
¿Dónde debo poner el nuevo código que me pasaron? ¿Antes del código actual o bien después? La otra duda es cómo debo poner mi dominio en ese código:
RewriteCond por ciento HTTP_HOST ^tu_dominio\.com$ [OR] ---> aquí lo remplazo donde dice "tu_dominio" sin ponerle el .com.ar, ni www?
RewriteCond por ciento HTTP_HOST ^www\.tu_dominio\.com dólares americanos ---> aquí lo reemplazo donde dice "tu_dominio" sin ponerle el .com.ar, ni www?
RewriteRule ^(.*)$ / dólares americanos 1 [R=301,L,NE] ---> aquí lo remplazo donde dice "tu_dominio.com" y le agrego el .ar?
Ojalá puedas asistirme!!!!
Muchas gracias!!!
Hola Julieta,
Gracias por tu comentario. Para tus dudas tengo una guía completísima sobre. Lo mejor es que lo hagas con un complemento, ya que, si no lo haces bien y no aplicas el código correcta, puedes tener problemas. Además, aparte de esa redirección, hay que hacer otras cosas que te comento en la guía.
Respecto a tu dominio, la contestación es sí. Saludos.
Amigo, buen dia. Excelente blog post!!!
Quiero aprovechar para una consulta, espero me puedas apoyar: Se trata de que deseo inhabilitar/quitar acceso de ftp desde cualquier navegador de internet. Que únicamente este libre para filezilla o bien algun otro gestor, mas no en navegador de manera directa. Pienso que una manera mas de resguardar contra ataques, que pudiesen escanear usuarios ftp y puedan hackear la web, es esta, bloqueando acceso ftp mediante navegador web. ¿Hay manera? ¿se puede? diseño landing page huesca había escuchado algo asi, mas no estoy seguro. A través de .htaccess o bien host.
Gracias por adelantado, espero tus comentarios!
Hola Santiago,
Muchas gracias por tu comentario. Puesto que la verdad es que, si existe, no había oído charlar de algo así. Deja que lo investigue y te digo algo.
Un saludo
Ignacio,
Buen día. He visto en otros weblog que tiene algo de relevancia la barra (/) al final de la url, unos afirman que la quiten y otros que la pongan. Cuál es tu opinión al respecto? Lo digo pues en esta entrada tienes: Añadir barra (/) al final de las URLs.
Hola Sebastian,
Personalmente prefiero quitarla de las urls, pero no tiene importancia. No es algo crítica en posicionamiento en buscadores, con lo que se deja al gusto del dueño.
Nota: Existe una regla de .htaccess para añadirla y otra para quitarla.
Ignacio,
Necesito de tu ayuda. No se si prosigue activo esto.
Que tal Ignacio,
¿Podrías asistirme a cómo evitar bajar directorios desde la URL con .htaccess?
Gracias
Hola Steven,
Gracias por tu comentario. Ya antes necesito saber a qué te refieres con «bajar directorios desde un URL».
Hola Ignacio, es la guia pero completa que he leido… Gracias! Tengo un inconveniente y creo que puedo arreglarlo con el .htaccess (esto es cambiándolo) ¿Qué opinas? Te cuento. Tengo un inconveniente desde el momento en que inslale el plugin Wordfence. Yo tengo dos Wordpress instalados, uno aquíy otro aquí. Lo que ha pasado es que:
1. Instale el complemento Wordfence solo en(Entonces me apareció un mensaje en el weblog que no podía acceder ni al weblog (/blog ) ni al admin del weblog (/wp-admin) por un tema de memoria)
2. Asigne más memoria a los 2 WordPress
3. Entonces aparece la página de error 404 cuando quiero acceder a mi weblog (/blog) PERO!!! Aquí viene lo raro, la pagina 404 no es del mismo tema de mi weblog (/blog ) si no que la pagina cuatrocientos cuatro es la de mi tema alojado en ()
4. Desactive el complemento Wordfence e instale el Wordfence assistant para borrar lo que Wordfence había creado pero sigue igual
Por si la solución es cambiar el .htaccess te adjunto lo que tengo.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php dólares americanos - [L]
RewriteCond por cien REQUEST_FILENAME !-f
RewriteCond por ciento REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
# END WordPress
# Redireccionamos 4.0 a Root
RedirectMatch 301 ^/4.0/ dólares americanos /
Hola Gaston,
El .htaccess no te va a ayudar. El problema es que has creado 2 WP, para algo que puede hacer 1. Elimina 1 los 2 y crea una instalación totalmente nueva.
Muy chulo,
Lo pongo casi todo en practica.
Hola José,
Gracias por tu comentario. Espero verte de vuelta pronto por aquí.
Hola,
Excelente informe Ignacio! ¿Me podrías ayudar a resguardar una web hecha con html con el htaccess? Tengo ataques de phishing en varias de mis webs y no se que hacer, me inyectan carpetitas con archivos php y de ellos mandan spam. Las borro, mas ocasionalmente vuelven a aparecer ¿Cómo resguardarlo?
Hola Facundo,
Cuando llega a este punto, tienes que pensar el mudar el alojamiento, las contraseñas, los accesos e inclusive los programas que utilizas para acceder (véase filezilla). Con el .htaccess bloquea las ips y las carpetas más importantes.
Hola Ignacio,
Buenos consejos que he aplicando en mi weblog. No obstante, el #10 no funciona como dices, Lo puse en mi .htaccess y me bloqueo el acceso total a mi blog, únicamente tenia acceso al weblog yo desde mi ip (OJO digo al blog por norma general no a la administración), Si quería ver el contenido del weblog desde otra ip me daba una redireccion cuatrocientos tres, o sea ese día recibí 0 visitas en mi blog.
Saludos
Hola Elian,
Vaya, no me gusta leer que has tenido inconvenientes. Lo más probable es que pusieras algún dato mal o que el servidor no funcionase correctamente. Esa regla la he utilizado mil veces y funciona perfectamente.
Quizá el problema es que lo pusiste en el htaccess de la carpeta raíz. Debes ponerlo en el htaccess de la carpeta de administración.
Un saludo.
Hola,
Tengo un inconveniente. Tengo configurado el .htaccess para el acceso a un servidor por IP, pero tristemente el htaccess hace lento el acceso al servidor. ¿Has tenido ese problema?
Gracias
Hola Jose,
La verdad es que no. Puede ser por el hecho de que tenga un bucle de redireccionamiento. Compruébalo.
Hola,
Mi archivo .htaccess acaba así «# END WordPress». ¿Inserto los códigos ya antes o después de eso?
Saludos
Hola Ánima,
No importa donde lo pongas, pues tendrá el mismo efecto, mas ponlo ya antes.
Hola Ignacio,
Excelente post! Clarísimo! Tengo una duda quizás puedas ayudarme. He visto páginas web a las que puedes acceder con la url con «/» al final y sin ella «/». Esto es, se puede acceder de las dos formas. Por servirnos de un ejemplo, si en tu weblog haces clic en el enlace «blog» desde el menu cambia automáticamente a /. Me resulta interesante saber cómo se hace pero al revés. Estaba viendo la regla dieciseis, quizá la clave esta por ahí por que lo que estaba haciendo es una por una pero se hace muy extenso el htaccess.
RewriteRule ^usuario/([^/]*)$ usuarios/perfil.php?u=$ 1 [NC,L]
RewriteRule ^usuario/([^/]*)/$ usuarios/perfil.php?u= dólares americanos 1 [NC,L]
De esa forma puedo acceder de las dos formas pero creo que para seo no me sirve. Quizá con alguna regla general o una expresión regular.
Gracias y saludos
Hola Markos,
Gracias por tu comentario. Ya antes de poder asistirte debo hacerte una pregunta… ¿Para qué deseas acceder de las dos maneras? ¿Sabes que Google considera contenido copiado una misma página con / al final o no? Lo mejor es escoger una e implantarla en toda la página web.
Markos, creo que te confundes. Pueden pasar 2 cosas. Los archivos con el mismo nombre mas con diferente extensión. Ejemplo: index.html y index.php en una se puede acceder con / y la otra no, asi solo el dueño sabe que extensión es al paso que usuario no, y esto se puede obtener usando esto:
RewriteEngine On
RewriteCond por cien REQUEST_FILENAME !-f
RewriteRule ^([^/]+)/ dólares americanos $ 1.php
RewriteRule ^([^/]+)/([^/]+)/$ / dólares americanos 1/$ 2.php
RewriteRule ^([^.]+)$ dólares americanos 1.html [NC,L]
RewriteCond por cien REQUEST_FILENAME !-f
RewriteCond por cien REQUEST_FILENAME !-d
RewriteCond por cien REQUEST_URI !(.[a-zA-Z0-9]1,5|/) dólares americanos
RewriteRule (.*)$ / dólares americanos 1/ [R=301,L]
Te darás cuenta que si pones index/ con la barra es php mas si queda index sin barra al final es por que es html =) es por eso.
Gracias por tu aportación Chrismart.
Hola Ignacio,
Hace un tiempo detecté en las herramientas de administradores web de google un montón (miles) de enlaces rotos cuatrocientos cuatro a mi web, en direcciones que no existen. Según parece redirigen a páginas de ebay (imagino que falsas o con algún ánimo malicioso). Son cosas como «miweb.es/gds/Top-cinco-Ways-to-Style-a-Michael-Kors-Watch» o bien «miweb.es/sch/Pottery-China-/18875/i.html». También he visto en la herramienta de webmasters tools un montón de páginas con links a la mía, que he desautorizado a través de la propia herramienta de google. Supongo que las habrán hackeado. Las IP de las que proceden los fallos 404 son de google, es decir que supongo que está procurando indexar esos links, y al no existir en mi web, producen el error 404. He instalado wordfence y algún complemento más de seguridad para limitar acceso de usuario y demás, pero prosigue la inyección de páginas desde google y la generación de errores cuatrocientos cuatro. Han actualizado el servidor y todas las versiones de wordpress y plugins están actualizadas.
¿Qué puedo hacer para eliminar ese tráfico? Gracias
Hola Rubén,
Lo primero te seré franco: no puedes hacer nada. Los ataques de esta clase son azarosos y cesarán con el tiempo. Mientras tanto, lo único que puedes hacer es protegerte, actualizar la página, plantilla y plugins a las últimas versiones y confiar en que no se pongan tontos.
Añade el plugin «SI CAPTCHA Anti-Spam» para proteger tus formularios y admin. Suerte.
Buen día y genial weblog,
Tengo una duda y espero por favor me puedas ayudar. ¿Cómo puedo evitar que ejecuten los archivos .js? Si pones en tu último punto esta opción no me la toma, entro a una url con .js y funciona. Realice el siguiente proceso tratando de eludir la ejecución desde afuera de mi web pero se bloquea todo el sitio:
Order allow,deny
Deny from all
El motivo de bloquear esto es que en mi sitio aparecen alertas de
Vulnerable Javascript library.
Saludos y gracias
Hola Oscar,
Añadir el siguiente código:
order allow,deny
allow from all
Te debería funcionar.
Hola,
Muy buen Weblog de Wordpress. Aprendí bastante de tu experiencia y aplique ciertas cosas pero lo que ando buscando referente al cuatrocientos cuatro y al .htaccess no lo encontré. Lo pongo así:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond por ciento pong el archivo aca adentro !-f
RewriteCond por cien REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
¿Hay una mejor manera? Gracias de antemano por tu respuesta
Hola Roberto,
¿Qué CMS empleas?
Hace 1 semana recibí un ataque similar en mi lugar y la solución pero rápida fue bloquear las IP entrantes en mi fichero .htaccess. Como eran varias de un segmento 54.x.x.x, realmente fue efectivo aplicar el deny from 54.x.x.x, mas no se si existe alguna solución con un plugin que lo efectué de manera directa, saludos.
Te felicito, genial articulo.
Hola,
La manera de hacerlo es esta o bien desde servidor (te invito a utilizar cloudflare).
Excelente post, ha sido de gran ayuda.
Saludos
Gracias por tu comentario Jorge.
Felicidades por el artículo, buenísimo.
Permíteme una pregunta, ¿Cómo puedo hacer a fin de que al limitar el acceso al wp-admin mediante IP? El que intente entrar a wp-admin desde otra IP le redirija a la página de error cuatrocientos cuatro?
Gracias y saludos.
Hola,
Para ello te recomiendo el complemento «Login Move» si tienes WP.
Magnifico tutorial. He aprendido muchísimas cosas nuevas. Lo aplicaré y lo comentaré con mis amigos.
Gracias por tu comentario Carlos
Buenas tardes,
¿Cómo puedo hacer para bloquear la misma IP desde el htaccess, pero con terminaciones diferentes? Por ejemplo: 43.152.51.40, 43.152.51.39, 43.152.51.38, etcétera ¿Hay alguna forma abreviar o tengo que poner todas y cada una de las IPs?
Gracias
Hola Jonathan,
Te aconsejo poner todas las IPs.
Hola! Muy útil la información.
Trabajo con Mac y no consigo ver el fichero .htaccess. Intenté hacerlo escribiendo desde el terminal y tampoco. La pregunta es si hay otra manera de llegar a este archivo.
Mil gracias mil! Saludos
Hola Julieta,
El archivo .htaccess se encuentra en la raíz de tu servidor. Accede al mismo y edítalo.
Saludos
Hola,
A ver si lo podemos solucionar. Mándame un e-mail contándome todo.
Saludos
Muy bueno, muchas posibilidades, gracias, me encantó tu blog, incluso prosigo leyendo cosas interesantes aunque llegué hasta aqui por un inconveniente que tengo en acceder a mi blog en wordpress.
El /wp-login.php me lleva directo a la página del bfi.gov, no se si conoces ese caso y como resolverlo, mas no encuentro mucha info relacionada.
Por otro lado el archivo «.htaccess» no puedo subirlo al ftp, por la carencia de una extension. Cuando lo subo como .txt para después quitarle la extensión, al rato desaparece.
En fin, espero me puedas hechar una mano con esto. Gracias y un abrazo
Muchas gracias Ignacio por compartir esta información tan valiosa para todos y cada uno de los que no somos expertos en seguridad y necesitamos resguardar nuestros sitios web. Últimamente he tenido actividad maliciosa en mis sitios alojados en dos servidores distintos. La ip del spammer es de Rusia y he leído en otros sitios y foros de otras personas que tienen exactamente el mismo problema.
Lo he apreciado en tanto que en google analytics empecé a ver visitas de Rusia en mis sitios, provenientes del mismo lugar (forum.topic .darodar.com / referral), como si fuera procedente de un link externo, lo menciono por si acaso a alguien le sirve la referencia.
Hoy lo he bloqueado desde el fichero htaccess en mis instalaciones de wordpress.
Te dejo mis saludos y felicidades por el lugar.
Hola Leo,
Muchas gracias, la intención es que tengáis las herramientas para poder evitar desastres… y eso has hecho tu. Aparte del bloqueo de htaccess, te invito a que hagas un disavow a ese dominio a fin de que no venga Penguin y te penalice.
Hola, si eres víctima de tener links a tu lugar y no tienes medios para eliminarlos, ¿existe alguna directiva en .htaccess que deje indicar a Google que ese link que apunta a tu sitio no lo tenga en cuenta?
Por ejemplo, tengo links del tipo …/filezilla/filezilla.html, que veo existen en multitud de sitios que apuntan a mi lugar con ese enlace. Filezilla fue una aplicación que tuve instalada por error y que ahora no la tengo. En Webmaster Tools aún me prosigue apareciendo ese link como una de las paginas más enlazada a mi sitio y eso tiene pinta de no ser nada bueno.
Gracias por adelantado.
Hola,
La mejor forma que tienes de decirle a Google eso es redireccionar ese enlace a la home. De todas y cada una maneras analizaría qué tipo de links están llegando desde otras páginas web, no tiene buena pinta.
Gracias por tu blog, muy util todo facil, creo que son muchas horas de trabajo y .. mucha experiencia, un saludo.
Muchas gracias Daniela,
Desde luego que es mucho trabajo, pero con mensajes como el tuyo se lleva mejor :)
Hola muy interesante tu blog post.
Mi web fue pirateada y tengo un montón de paginas insertadas. Cambie de hosting, aunque no fue por esta razón, si bien hice una limpieza a fondo y reinstale todo, las paginas prosiguen saliendo ahora con fallo cuatrocientos cuatro ya que no existen. Se que esto no afecta a google mas quisiera de alguna manera suprimirlas o bien redirigirlas aqui vi un codigo pero no lo comprendo en google hablan de un plugin 404 que instalé en mi página y me dan el codigo pero no se donde colocarlo.
Gracias.
Hola José,
Tienen que aprender a usar el plugin Simple 301 Redirects, del repositorio de WordPress. Es muy fácil, solo prosigue sus indicaciones. Se trata de redirigir las páginas viejas a las nuevas.
En primer sitio felicitarte por tu blog, es de mucha ayuda.
He llegado a el buscando una solución para mi problema con wordpress que tengo alojado en abansys. el problema es que no puedo subir imágenes a traves del worpress porque me da un fallo diciendo que revise los permisos de las carpetas superiores y que no puede crear la carpeta upload. Los permisos estan bien y en Abansys me han dicho que tengo que activar la capa ftp en wordpress a traves del fichero htaccess, que debo poner el usuario de ftp. Miro en la red como se añade esto al htaccess mas no encuentro nada. ¿me podrias asistir?
Muchisimas gracias por adelantado. Saludos.Marisol
Hola Marisol,
La única forma de ver esto es que me diera un acceso. De todas maneras lo mejor que puedes hacer es acceder a tus carpetitas a través del ftp y cambiar los permisos tus (prueba con filezilla). Olvídate del htaccess.
Buenas tardes, y enhorabuena por su trabajo. Gente como usted asisten muchísimo a personas como que estamos empezando y nos hallamos muy perdidos muchas veces.
Tengo una consulta por si acaso me puede ayudar, ya que me estoy comenzando a desesperar.
Tengo una tienda on line con Prestashop 1.6, y en los últimos días estoy recibiendo muchísimas visitas indeseadas. Como ya he leído en este artículo, puedo bloquear dichas visitas a través del archivo .htaccess, incluyendo el código pertinente.
El problema es que lo estoy intentando y no consigo que funcione. Toda vez que copio las líneas en el .htaccess y trator de entrar en la página web, me da el aviso de que no existe el archivo index.php, o de manera directa me da error y no se puede entrar en la web.
Elimino las lineas del archivo y todo vuelve a funcionar.
Lo he intentado editando el fichero desde el editor del servidor, lo he intentado descargando el fichero, editándolo con el notepad++ y volviéndolo a subir directamente al servidor, y lo he intentado subiendo el archivo modificado mediante FTP con Filezilla. De ninguna manera consigo que funcione.
Lo único que creo que puede estar fallando es el sitio donde copio las líneas, porque no veo otra explicación.
Por favor, ¿sabrían darme alguna orientación sobre qué estoy haciendo mal o en qué lugar del archivo .htaccess debo copiar el código, por favor? Comienzo a estar reálmente agobiado.
Muchísimas gracias, y por favor, excusen las molestias.
Un saludo.
Hola Francisco, enviame un e-mail y vemos que puedes estar haciendo mal :)
Hola Santiago,
estoy intentando banear una IP siguiendo la sección 12 de tu post pero no obtengo resultado :(
Hola,
Las instrucciones son muy claras. Si añades adecuadamente ese código debe bloquear la ip. Si no puedes dime la página.
Hola ignacio,
Gracias por tu respuesta, al final di con el código para hacer lo que quería mas tengo algunas dudas q me gustaría aclarar: si deseo permitir el paso a una sola IP, ¿debo poner el allow y luego «deny all» o bien a la inversa?
En la sección #15(errores), el directorio de errores tiene que estar bajo «documentroot»? ¿se puede definir un directorio «diferente»(por servirnos de un ejemplo C:error…)?¿Puedo definir imágenes como errores o solo paginas PHP?¿Que extensiones?
Hola :)
A ver, si sólo quieres dejar paso a 1 IP, debes decirlo allow a esa IP en particular.
Respecto a los fallos, te invito a que dejes el directorio como esta, si bien es posible cambiarlo…
Ignacio mil gracias, por la información acerca de .htaccess, me ha resuelto un gran inconveniente, lo felicito por el weblog y desde ahora estaré atento a sus consejos
Me alegro que te haya ayudado Santiago :)
Muy completo e interesante. ¡Gracias por el curro!
Me surge una duda que estoy tratando de resolver… en muchas partes se habla de poner el fichero .htaccess en el raíz de la instalación de WP.
Estoy con un website y acabo de instalar el plugin «Acunetix WP Security», al escanear la instalación me da a entender que dicho documento debe radicar en wp-admin.
–> The «.htaccess» archivo was not found in the «wp-admin» directory
¿estamos hablando de dos archivos distintos?
Actualmente lo tengo residente en la raíz como indicas en este blog post.
Un saludo,
Juaco Amado
Hola,
A ver, el archivo .htaccess es indispensable que esté en la carpetita raíz de la instalación wordpress. Hay, en algunos casos, que crear un segundo .htaccess para poder tener opciones avanzadas.
A pesar de que es una entrada con medio año de vida, ciertos consejos me han resultado bastante útiles. ¡Gracias!
Gracias Rosario, esta clase de consejos acostumbran a durar en el tiempo. Como mucho cambia alguna una parte del código, mas no el código entero de wordpress
Gracias a ti Sebastián :)
Gracias a ti Sebastián :)
Buenas noches Santiago,
Interesantisimo articulo. Lo pruebo desde ya. Específicamente el consejo #19:
order allow,deny
allow from all
¿Porque «allow» en la tercera linea y no «deny»? ¿En qué casos poner un segundo .htaccess en directorio secundario?
Hola Edward,
Ya pone «deny» y es suficiente, puesto que bloqueas una parte, pero no todo. Respecto a poner un segundo .htaccess, sólo se hace para directorios.
Saludos
Hola Edward,
Ya pone «deny» y es suficiente, en tanto que bloqueas una parte, pero no todo. Con respecto a poner un segundo .htaccess, sólo se hace para directorios.
Saludos
Hola
Tengo una consulta. Tengo un alojamiento compartido y todos los dominios están dentro de la carpeta «public_html» y en esa carpeta hay varias subcarpetas. Se que debo alterar algo en el htaccess, mas no encuentro el que.
Mi pagina esta dentro de «public_html» dentro de otra carpeta llamada «wp». Lo que quiero es que cuando la gente entre al lugar, en la barra de navegación muestra mi dominio sin el directorio «wp». Lo único que logre es desde el alojamiento hacer que cuando la gente escribe mi dominio redirija al directorio ¿Ahora como hago para que la gente no vea el «wp» ni en la pagina primordial ni en ningún momento que este navegando por la página???
Gracias
Hola Leandro,
Muchas gracias por tu comentario. A ver, tu inconveniente tiene una solución muy fácil y que te recomiendo. Podrías estar con redirecciones, pero es preferible desplazar todos y cada uno de los archivos a la carpeta raíz del dominio (public_html). Así el dominio mostrará la página web como deseas. Eso sí, ten cuidado al hacer esto, pues las imágenes, al tener «wp» en su link, es posible que no se vean.
Lo mejor es que recurras a alguien que sepa hacerlo. Un saludo
Hola Leandro,
Muchas gracias por tu comentario. A ver, tu inconveniente tiene una solución muy fácil y que te invito a . Podrías estar con redirecciones, mas es preferible mover todos y cada uno de los archivos a la carpeta raíz del dominio (public_html). Así el dominio mostrará la web como deseas. Eso sí, ten cuidado al hacer esto, por el hecho de que las imágenes, al tener «wp» en su link, es posible que no se vean.
Lo mejor es que recurras a alguien que sepa hacerlo. Un saludo
Buenos días,
Muy interesante el artículo ¿Alguien podría ayudarme? QUiero hacer una redirección a un rango de IPs (a un país en concreto) de todo mi dominio a una carpetita del mismo dominio. Pruebo con:
RewriteCond por cien REMOTE_ADDR ochenta.*.*.* --> Deseo poner múltiples rangos de ips mas no sé como...
RewriteRule (.*) /carpeta [R=302,L]
Hola Carlos,
Gracias por tu comentario. Ya antes de responderte necesito que me des mas detalles de lo que realmente precisas ¿Tan sólo quieres redireccionar tu dominio a un directorio del mismo dominio?
Un saludo
Hola Carlos,
Gracias por tu comentario. Antes de responderte necesito que me des pero detalles de lo que realmente precisas ¿Tan sólo quieres redireccionar tu dominio a un directorio del mismo dominio?
Un saludo
Excelente material como siempre y en toda circunstancia Ignacio de veras felicidades, este género de consejos sobre el .htaccess en general son excelente, últimamente me pasaba con un hosting de muy mala calidad sobre algo que tenían sur servidores que me borraba el fichero .htaccess de mi wordpress en el public_html. Gracias a tus consejos contrate con los nuevos amigos de zz que de veras a pesar de ser gratis su alojamiento ofrecen alta calidad y bueno os aconsejo, pero he conseguido aplicar ciertos trucos aquí sobre el .htaccess a fin de que por servirnos de un ejemplo utilizar un código dicho archivo para redireccionar a otra página y así muchas cosas, de verdad agradecido Ignacio que sigan los triunfante.!
Hola Alvaro,
Gracias por tu comentario, me alegro de que mi contenido haya sido de tu utilidad y hayas logrado solventar ciertos inconvenientes de tu alojamiento. A veces no es sencillo dar con el distribuidor conveniente. Saludos!
Hola Alvaro,
Gracias por tu comentario, me alegra que mi contenido haya sido de tu utilidad y hayas conseguido solucionar ciertos problemas de tu alojamiento. A veces no es sencillo dar con el proveedor adecuado. Saludos!
Hola,
Muy interesante el articulo. Estoy actualizando mi web de http a https y me dicen que podría realizar una redirección de http:// a https:// forzando todas las páginas de mi dominio a cargar usando dicho protocolo seguro desde .htaccess colocando el próximo código:
RewriteEngine On
RewriteCond por cien ENV:HTTPS !on [NC]
RewriteCond por ciento HTTP_HOST ^tu_dominio\.com$ [OR]
RewriteCond por ciento HTTP_HOST ^www\.tu_dominio\.com$
RewriteRule ^(.*)$ / dólares americanos 1 [R=301,L,NE]
Ya localicé la carpetita htaccess, y contiene el siguiente código:
# BEGIN WordPress
RewriteEngine On
RewriteBase /website/
RewriteRule ^index.php dólares americanos - [L]
RewriteCond por ciento REQUEST_FILENAME !-f
RewriteCond por ciento REQUEST_FILENAME !-d
RewriteRule . /website/index.php [L]
# END WordPress
¿Dónde debo colocar el nuevo código que me pasaron? ¿Antes del código actual o después? La otra duda es cómo debo colocar mi dominio en ese código:
RewriteCond por cien HTTP_HOST ^tu_dominio\.com$ [OR] ---> aquí lo reemplazo donde dice "tu_dominio" sin ponerle el .com.ar, ni www?
RewriteCond por cien HTTP_HOST ^www\.tu_dominio\.com dólares americanos ---> aquí lo reemplazo donde dice "tu_dominio" sin ponerle el .com.ar, ni www?
RewriteRule ^(.*)$ /$ 1 [R=301,L,NE] ---> aquí lo reemplazo donde dice "tu_dominio.com" y le agrego el .ar?
Ojalá puedas ayudarme!!!!
Muchas gracias!!!
Hola Julieta,
Gracias por tu comentario. Para tus dudas tengo una guía muy completa sobre. Lo mejor es que lo hagas con un plugin, en tanto que, si no lo haces bien y no aplicas el código adecuada, puedes tener problemas. Además, aparte de esa redirección, hay que hacer otras cosas que te comento en la guía.
Respecto a tu dominio, la respuesta es sí. Saludos.
Hola Julieta,
Gracias por tu comentario. Para tus dudas tengo una guía muy completa sobre. Lo mejor es que lo hagas con un plugin, puesto que, si no lo haces bien y no aplicas el código correcta, puedes tener problemas. Además, aparte de esa redirección, hay que hacer otras cosas que te comento en la guía.
Respecto a tu dominio, la respuesta es sí. Saludos.
Amigo, buen dia. Excelente blog post!!!
Quiero aprovechar para una consulta, espero me puedas apoyar: Se trata de que quiero inhabilitar/quitar acceso de ftp desde cualquier navegador web. Que únicamente este libre para filezilla o bien algun otro gestor, pero no en navegador de forma directa. Considero que una manera mas de resguardar contra ataques, que pudieran escanear usuarios ftp y puedan hackear la web, es esta, bloqueando acceso ftp a través de navegador web. ¿Hay forma? ¿se puede? Me da la sensación de que había escuchado algo así, pero no estoy seguro. Mediante .htaccess o bien host.
Gracias por adelantado, espero tus comentarios!
Hola Santiago,
Muchas gracias por tu comentario. Pues lo cierto es que, si existe, no había oído charlar de algo así. Deja que lo investigue y te digo algo.
Un saludo
Hola Santiago,
Muchas gracias por tu comentario. Puesto que lo cierto es que, si existe, no había oído charlar de algo así. Deja que lo investigue y te digo algo.
Un saludo
Ignacio,
Buen día. He visto en otros blog que tiene algo de relevancia la barra (/) al final de la url, unos afirman que la quiten y otros que la pongan. Cuál es tu opinión a este respecto? Lo digo pues en esta entrada tienes: Añadir barra (/) al final de las URLs.
Hola Sebastian,
Personalmente prefiero quitarla de las urls, pero carece de importancia. No es algo crítica en SEO, por lo que se deja al gusto del dueño.
Nota: Hay una regla de .htaccess para añadirla y otra para quitarla.
Hola Sebastian,
Personalmente prefiero quitarla de las urls, pero no tiene importancia. No es algo crítica en posicionamiento en buscadores, con lo que se deja al gusto del dueño.
Nota: Hay una regla de .htaccess para añadirla y otra para quitarla.
Ignacio,
Necesito de tu ayuda. No se si prosigue activo esto.
Que tal Ignacio,
¿Podrías asistirme a cómo eludir bajar directorios desde la URL con .htaccess?
Gracias
Hola Steven,
Gracias por tu comentario. Ya antes necesito saber a qué te refieres con «bajar directorios desde un URL».
Hola Steven,
Gracias por tu comentario. Ya antes necesito saber a qué te refieres con «bajar directorios desde un URL».
Hola Ignacio, es la guia pero completa que he leido… Gracias! Tengo un problema y creo que puedo arreglarlo con el .htaccess (esto es cambiándolo) ¿Qué opinas? Te cuento. Tengo un problema desde el instante en que inslale el plugin Wordfence. Yo tengo 2 WordPress instalados, uno aquíy otro aquí. Lo que ha pasado es que:
1. Instale el complemento Wordfence solo en(Entonces me apareció un mensaje en el blog que no podía acceder ni al blog (/blog ) ni al admin del blog (/wp-admin) por un tema de memoria)
2. Asigne más memoria a los dos WordPress
3. Entonces aparece la página de fallo 404 cuando deseo acceder a mi weblog (/blog) PERO!!! Aquí viene lo extraño, la pagina 404 no es del mismo tema de mi weblog (/blog ) si no que la página cuatrocientos cuatro es la de mi tema alojado en ()
4. Desactive el complemento Wordfence y también instale el Wordfence assistant para borrar lo que Wordfence había creado pero sigue igual
Por si la solución es cambiar el .htaccess te adjunto lo que tengo.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond por cien REQUEST_FILENAME !-f
RewriteCond por ciento REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
# END WordPress
# Redireccionamos 4.0 a Root
RedirectMatch trescientos uno ^/4.0/$ /
Hola Gaston,
El .htaccess no te ayudará. El problema es que has creado 2 Wordpress, para algo que puede hacer 1. Elimina 1 los 2 y crea una instalación plenamente nueva.
Hola Gaston,
El .htaccess no te va a ayudar. El inconveniente es que has creado 2 WP, para algo que puede hacer uno Suprime 1 los 2 y crea una instalación plenamente nueva.
Muy chulo,
Lo pongo prácticamente todo en practica.
Hola José,
Gracias por tu comentario. Espero verte de vuelta pronto por aquí.
Hola José,
Gracias por tu comentario. Espero verte de vuelta pronto por aquí.
Hola,
Excelente informe Ignacio! ¿Me podrías asistir a proteger una web hecha con html con el htaccess? Tengo ataques de phishing en varias de mis webs y no se que hacer, me inyectan carpetitas con archivos php y de ellos mandan spam. Las borro, pero ocasionalmente vuelven a aparecer ¿Cómo resguardarlo?
Hola Facundo,
Cuando llega a este punto, tienes que pensar el mudar el hosting, las contraseñas, los accesos e incluso los programas que utilizas para acceder (vease filezilla). Con el .htaccess bloquea las ips y las carpetas más importantes.
Hola Facundo,
Cuando llega a este punto, debes meditar el cambiar el alojamiento web, las contraseñas, los accesos e inclusive los programas que usas para acceder (vease filezilla). Con el .htaccess bloquea las ips y las carpetas más importantes.
Hola Ignacio,
Buenos consejos que he aplicando en mi blog. No obstante, el #10 no marcha como dices, Lo puse en mi .htaccess y me bloqueo el acceso total a mi weblog, únicamente tenia acceso al weblog yo desde mi ip (OJO digo al blog por norma general no a la administracion), Si quería ver el contenido del weblog desde otra ip me daba una redireccion cuatrocientos tres, esto es ese día recibí 0 visitas en mi weblog.
Saludos
Hola Elian,
Vaya, no me agrada leer que has tenido problemas. Lo más probable es que pusieras algún dato mal o que el servidor no funcionase correctamente. Esa regla la he usado mil veces y marcha perfectamente.
Quizá el problema es que lo pusiste en el htaccess de la carpeta raíz. Debes ponerlo en el htaccess de la carpetita de administración.
Un saludo.
Hola Elian,
Vaya, no me agrada leer que has tenido inconvenientes. Lo más probable es que pusieses algún dato mal o que el servidor no funcionase correctamente. Esa regla la he usado mil veces y funciona con perfección.
Quizá el inconveniente es que lo pusiste en el htaccess de la carpeta raíz. Debes ponerlo en el htaccess de la carpetita de administración.
Un saludo.
Hola,
Tengo un inconveniente. Tengo configurado el .htaccess para el acceso a un servidor por IP, mas lamentablemente el htaccess hace lento el acceso al servidor. ¿Has tenido ese inconveniente?
Gracias
Hola Jose,
La verdad es que no. Puede ser pues tenga un bucle de redireccionamiento. Compruébalo.
Hola Jose,
La verdad es que no. Puede ser pues tenga un bucle de redireccionamiento. Compruébalo.
Hola,
Mi fichero .htaccess acaba asi «# END WordPress». ¿Inserto los códigos antes o después de eso?
Saludos
Hola Ánima,
No importa donde lo pongas, porque tendrá exactamente el mismo efecto, pero ponlo antes.
Hola Ánima,
No importa donde lo pongas, por el hecho de que tendrá el mismo efecto, mas ponlo antes.
Hola Ignacio,
Excelente post! Clarísimo! Tengo una duda quizá puedas ayudarme. He visto páginas web a las que puedes acceder con la url con «/» al final y sin ella «/». O sea, se puede acceder de las dos maneras. Por ejemplo, si en tu blog haces clic en el enlace «blog» desde el menu cambia automáticamente a /. Me interesa saber cómo se hace mas al revés. Estaba viendo la regla 1., quizá la clave esta por ahí por que lo que hacía es una por una pero se hace muy extenso el htaccess.
RewriteRule ^usuario/([^/]*)$ usuarios/perfil.php?u=$ 1 [NC,L]
RewriteRule ^usuario/([^/]*)/$ usuarios/perfil.php?u=$ 1 [NC,L]
De esa forma puedo acceder de las dos formas mas creo que para seo no me sirve. Quizás con alguna regla general o bien una expresión regular.
Gracias y saludos
Gracias por tu comentario. Ya antes de poder ayudarte tengo que hacerte una pregunta… ¿Para qué deseas acceder de las 2 maneras? ¿Sabes que Google considera contenido copiado una misma página con / al final o bien no? Lo mejor es escoger una e implantarla en toda la página web.
Markos, creo que te confundes. Pueden pasar 2 cosas. Los archivos con el mismo nombre pero con diferente extensión. Ejemplo: index.html y index.php en una se puede acceder con / y la otra no, así solo el dueño sabe que extensión es mientras que usuario no, y esto se puede conseguir usando esto:
RewriteEngine On
RewriteCond por ciento REQUEST_FILENAME !-f
RewriteRule ^([^/]+)/$ $ 1.php
RewriteRule ^([^/]+)/([^/]+)/$ / dólares americanos 1/ dólares americanos 2.php
RewriteRule ^([^.]+)$ dólares americanos 1.html [NC,L]
RewriteCond por ciento REQUEST_FILENAME !-f
RewriteCond por cien REQUEST_FILENAME !-d
RewriteCond por cien REQUEST_URI !(.[a-zA-Z0-9]1,5|/)$
RewriteRule (.*)$ / dólares americanos 1/ [R=301,L]
Te darás cuenta que si pones index/ con la barra es php pero si queda index sin barra al final es por que es html =) es por eso.
Gracias por tu aportación Chrismart.
Hola Markos,
Gracias por tu comentario. Antes de poder asistirte tengo que hacerte una pregunta… ¿Para qué deseas acceder de las dos formas? ¿Sabes que Google considera contenido duplicado una misma página con / al final o bien no? Lo mejor es escoger una e implantarla en toda la página web.
Markos, creo que te confundes. Pueden pasar 2 cosas. Los ficheros con exactamente el mismo nombre pero con diferente extensión. Ejemplo: index.html y index.php en una se puede acceder con / y la otra no, asi solo el dueño sabe que extensión es mientras que usuario no, y esto se puede obtener utilizando esto:
RewriteEngine On
RewriteCond por ciento REQUEST_FILENAME !-f
RewriteRule ^([^/]+)/$ $ 1.php
RewriteRule ^([^/]+)/([^/]+)/$ / dólares americanos 1/ dólares americanos 2.php
RewriteRule ^([^.]+)$ $ 1.html [NC,L]
RewriteCond por cien REQUEST_FILENAME !-f
RewriteCond por cien REQUEST_FILENAME !-d
RewriteCond por cien REQUEST_URI !(.[a-zA-Z0-9]1,5|/)$
RewriteRule (.*)$ / dólares americanos 1/ [R=301,L]
Te darás cuenta que si pones index/ con la barra es php pero si queda index sin barra al final es por que es html =) es por eso.
Gracias por tu aportación Chrismart.
Gracias por tu aportación Chrismart.
Hola Ignacio,
Hace un tiempo detecté en las herramientas de webmasters de google un montón (miles) de links rotos cuatrocientos cuatro a mi web, en direcciones que no existen. Según parece redirigen a páginas de ebay (imagino que falsas o bien con algún ánimo malicioso). Son cosas como «miweb.es/gds/Top-5-Ways-to-Style-a-Michael-Kors-Watch» o bien «miweb.es/sch/Pottery-China-/18875/i.html». También he visto en la herramienta de webmasters tools un montón de páginas con links a la mía, que he desautorizado a través de la propia herramienta de google. Supongo que las habrán hackeado. Las IP de las que proceden los fallos cuatrocientos cuatro son de google, es decir que supongo que está intentando indexar esos enlaces, y al no existir en mi web, producen el error 404. He instalado wordfence y algún plugin más de seguridad para limitar acceso de usuario y demás, pero sigue la inyección de páginas desde google y la generación de errores cuatrocientos cuatro. Han actualizado el servidor y todas las versiones de wordpress y plugins están actualizadas.
¿Qué puedo hacer para eliminar ese tráfico? Gracias
Hola Rubén,
Lo primero te voy a ser franco: no puedes hacer nada. Los ataques de esta clase son aleatorios y cesarán con el tiempo. Mientras tanto, lo único que puedes hacer es resguardarte, actualizar la página, plantilla y complementos a las últimas versiones y confiar en que no se pongan tontos.
Añade el plugin «SI CAPTCHA Anti-Spam» para resguardar tus formularios y admin. Suerte.
Hola Rubén,
Lo primero te voy a ser franco: no puedes hacer nada. Los ataques de este tipo son aleatorios y cesarán con el tiempo. Mientras, lo único que puedes hacer es resguardarte, actualizar la página, plantilla y plugins a las últimas versiones y confiar en que no se pongan tontos.
Añade el plugin «SI CAPTCHA Anti-Spam» para proteger tus formularios y admin. Suerte.
Buen día y excelente weblog,
Tengo una duda y espero por favor me puedas asistir. ¿Cómo puedo evitar que ejecuten los ficheros .js? Si colocas en tu último punto esta opción no me la toma, entro a una url con .js y marcha. Realice el próximo proceso tratando de eludir la ejecución desde afuera de mi web pero se bloquea todo el sitio:
Order allow,deny
Deny from all
El motivo de bloquear esto es que en mi sitio aparecen alertas de
Vulnerable Javascript library.
Saludos y gracias
Hola Oscar,
Añadir el próximo código:
order allow,deny
allow from all
Te debería funcionar.
Hola Oscar,
Añadir el próximo código:
order allow,deny
allow from all
Te debería funcionar.
Hola,
Muy buen Weblog de Wordpress. Aprendí bastante de tu experiencia y aplique ciertas cosas mas lo que estoy buscando referente al cuatrocientos cuatro y al .htaccess no lo encontré. Lo pongo así:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond por cien pong el fichero acá adentro !-f
RewriteCond por ciento REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
¿Hay una mejor forma? Gracias de antemano por tu respuesta
Hola Roberto,
¿Qué Content Management System empleas?
Hola Roberto,
¿Qué CMS usas?
Hace 1 semana recibí un ataque semejante en mi lugar y la solución mas rápida fue bloquear las IP entrantes en mi fichero .htaccess. Como eran múltiples de un segmento 54.x.x.x, realmente fue efectivo aplicar el deny from 54.x.x.x, pero no se si hay alguna solución con un complemento que lo efectué de manera directa, saludos.
Te felicito, genial articulo.
Hola,
La manera de hacerlo es esta o desde servidor (te invito a usar cloudflare).
Hola,
La manera de hacerlo es esta o bien desde servidor (te invito a utilizar cloudflare).
Excelente artículo, ha sido de mucha ayuda.
Saludos
Gracias por tu comentario Jorge.
Gracias por tu comentario Jorge.
Felicidades por el artículo, buenísimo.
Permíteme una pregunta, ¿Cómo puedo hacer para que al limitar el acceso al wp-admin mediante IP? El que intente entrar a wp-admin desde otra IP le redirija a la página de fallo 404?
Gracias y saludos.
Hola,
Para ello te invito a el plugin «Login Move» si tienes Wordpress.
Hola,
Para ello te recomiendo el plugin «Login Move» si tienes WP.
Magnifico tutorial. He aprendido muchísimas cosas nuevas. Lo aplicaré y lo comentaré con mis amigos.
Gracias por tu comentario Carlos
Gracias por tu comentario Carlos
Buenas tardes,
¿Cómo puedo hacer para bloquear la misma IP desde el htaccess, pero con terminaciones diferentes? Por ejemplo: 43.152.51.40, 43.152.51.39, 43.152.51.38, etc. ¿Hay alguna forma abreviar o tengo que poner todas y cada una de las IPs?
Gracias
Hola Jonathan,
Te recomiendo poner todas y cada una de las IPs.
Hola Jonathan,
Te aconsejo poner todas las IPs.
Hola! Muy útil la información.
Trabajo con Mac y no consigo ver el fichero .htaccess. Intenté hacerlo escribiendo desde el terminal y tampoco. La pregunta es si hay otra manera de llegar a este fichero.
Mil gracias mil! Saludos
Hola Julieta,
El archivo .htaccess se encuentra en la raíz de tu servidor. Accede al mismo y edítalo.
Saludos
Hola Julieta,
El fichero .htaccess se halla en la raíz de tu servidor. Accede al mismo y edítalo.
Saludos
Hola,
A ver si lo podemos solucionar. Mándame un e-mail contándome todo.
Saludos
Muy bueno, muchas posibilidades, gracias, me encantó tu blog, aun sigo leyendo cosas interesantes si bien llegué hasta aquí por un problema que tengo en acceder a mi blog en wordpress.
El /wp-login.php me lleva directo a la pagina del bfi.gov, no se si conoces ese caso y como resolverlo, mas no encuentro mucha info relacionada.
Por otro lado el fichero «.htaccess» no puedo subirlo al ftp, por la falta de una extension. Cuando lo subo como .txt para después quitarle la extensión, al rato desaparece.
En fin, espero me puedas echar una mano con esto. Gracias y un abrazo
Muchas gracias Ignacio por compartir esta información tan valiosa para todos los que no somos expertos en seguridad y precisamos resguardar nuestros sitios. Recientemente he tenido actividad maliciosa en mis sitios alojados en 2 servidores distintos. La ip del spammer es de Rusia y he leido en otros sitios y foros de discusión de otras personas que tienen exactamente el mismo problema.
Lo he notado puesto que en google analytics empecé a ver visitas de Rusia en mis sitios, provenientes del mismo sitio (forum.topic .darodar.com / referral), tal y como si fuera proveniente de un enlace externo, lo miento por si acaso a alguien le sirve la referencia.
Hoy lo he bloqueado desde el archivo htaccess en mis instalaciones de wordpress.
Te dejo mis saludos y felicitaciones por el sitio.
Hola Leo,
Muchas gracias, la intención es que tengáis las herramientas para poder eludir desastres… y eso has hecho tu. Aparte del bloqueo de htaccess, te invito a que hagas un disavow a ese dominio para que no venga Penguin y te penalice.
Hola Leo,
Muchas gracias, la intención es que tengáis las herramientas para poder evitar desastres… y eso has hecho tu. Además del bloqueo de htaccess, te invito a que hagas un disavow a ese dominio a fin de que no venga Penguin y te penalice.
Hola, si eres víctima de tener links a tu lugar y no tienes medios para quitarlos, ¿existe alguna directiva en .htaccess que deje señalar a Google que ese enlace que apunta a tu sitio no lo tenga en cuenta?
Por ejemplo, tengo enlaces del tipo …/filezilla/filezilla.html, que veo existen en multitud de sitios web que apuntan a mi sitio con ese enlace. Filezilla fue una aplicación que tuve instalada por fallo y que ahora no la tengo. En Webmaster Tools aún me sigue apareciendo ese link como una de las paginas más enlazada a mi sitio y eso tiene pinta de no ser nada bueno.
Gracias por adelantado.
Hola,
La mejor manera que tienes de decirle a Google eso es redireccionar ese enlace a la home. De todas y cada una maneras analizaría qué tipo de links están llegando desde otras páginas web, no tiene buena pinta.
Hola,
La mejor manera que tienes de decirle a Google eso es redireccionar ese enlace a la home. De todas y cada una maneras analizaría qué género de enlaces están llegando desde otras páginas web, no tiene buena pinta.
Gracias por tu blog, muy útil todo fácil, creo que son muchas horas de trabajo y .. mucha experiencia, un saludo.
Muchas gracias Daniela,
Desde luego que es mucho trabajo, mas con mensajes como el tuyo se lleva mejor :)
Muchas gracias Daniela,
Desde entonces que es mucho trabajo, pero con mensajes como el tuyo se lleva mejor :)
Hola muy interesante tu blog post.
Mi web fue pirateada y tengo un montón de paginas insertadas. Cambie de alojamiento web, aunque no fue por esta razón, aunque hice una limpieza a fondo y reinstale todo, las paginas siguen saliendo ahora con fallo 404 puesto que no existen. Se que esto no afecta a google mas quisiera de alguna forma eliminarlas o bien redirigirlas aquí vi un codigo mas no lo comprendo en google charlan de un plugin cuatrocientos cuatro que instalé en mi pagina y me dan el codigo mas no se donde colocarlo.
Gracias.
Hola José,
Tienen que aprender a usar el complemento Simple 301 Redirects, del repositorio de Wordpress. Es muy fácil, solo sigue sus indicaciones. Se trata de redirigir las páginas antiguas a las nuevas.
Hola José,
Tienen que aprender a usar el plugin Simple 301 Redirects, del repositorio de WordPress. Es muy fácil, tan solo prosigue sus indicaciones. Se trata de redirigir las páginas antiguas a las nuevas.
En primer lugar felicitarte por tu weblog, es de mucha ayuda.
He llegado a el buscando una solución para mi inconveniente con wordpress que tengo alojado en abansys. el inconveniente es que no puedo subir imagenes a traves del worpress por el hecho de que me da un error diciendo que revise los permisos de las carpetitas superiores y que no puede crear la carpeta upload. Los permisos estan bien y en Abansys me han dicho que debo activar la capa ftp en wordpress a traves del archivo htaccess, que debo poner el usuario de ftp. Estoy mirando en la red como se añade esto al htaccess mas no encuentro nada. ¿me podrias asistir?
Muchisimas gracias de antemano. Saludos.Marisol
Hola Marisol,
La única manera de ver esto es que me diera un acceso. De todas maneras lo mejor que puedes hacer es acceder a tus carpetitas a través del ftp y cambiar los permisos tus (prueba con filezilla). Olvídate del htaccess.
Hola Marisol,
La única manera de ver esto es que me diese un acceso. De todas maneras lo mejor que puedes hacer es acceder a tus carpetas a través del ftp y mudar los permisos tus (prueba con filezilla). Olvídate del htaccess.
Buenas tardes, y enhorabuena por su trabajo. Gente como asisten muchísimo a personas como nosotros que estamos empezando y nos encontramos muy perdidos muy frecuentemente.
Tengo una consulta por si me puede asistir, puesto que me estoy comenzando a desesperar.
Tengo una tienda virtual con Prestashop dieciseis, y en los últimos días estoy recibiendo muchísimas visitas indeseadas. Como ya he leído en este artículo, puedo bloquear dichas visitas a través del fichero .htaccess, incluyendo el código pertinente.
El inconveniente es que lo estoy procurando y no consigo que funcione. Cada vez que copio las lineas en el .htaccess y trator de entrar en la web, me da el aviso de que no existe el archivo index.php, o de manera directa me da error y no se puede entrar en la página web.
Elimino las líneas del archivo y todo vuelve a marchar.
Lo he intentado editando el fichero desde el editor del servidor, lo he intentado descargando el fichero, editándolo con el notepad++ y volviéndolo a subir de forma directa al servidor, y lo he intentado subiendo el archivo modificado mediante FTP con Filezilla. De ninguna manera consigo que funcione.
Lo único que creo que puede estar fallando es el sitio donde copio las líneas, porque no veo otra explicación.
Por favor, ¿sabrían darme alguna orientación sobre qué estoy haciendo mal o en qué sitio del archivo .htaccess debo copiar el código, por favor? Comienzo a estar reálmente desesperado.
Muchísimas gracias, y por favor, excusen las molestias.
Un saludo.
Hola Francisco, enviame un email y vemos que puedes estar haciendo mal :)
Hola Francisco, enviame un correo electrónico y vemos que puedes estar haciendo mal :)
Hola Santiago,
estoy intentando banear una IP siguiendo la sección doce de tu artículo mas no obtengo resultado :(
Hola,
Las instrucciones son muy claras. Si añades adecuadamente ese código tiene que bloquear la ip. Si no puedes dime la página.
Hola ignacio,
Gracias por tu contestación, al final di con el código para hacer lo que quería pero tengo ciertas dudas q me gustaría aclarar: si quiero permitir el paso a una sola IP, ¿debo poner el allow y después «deny all» o a la inversa?
En la sección #15(errores), el directorio de fallos ha de estar bajo «documentroot»? ¿se puede definir un directorio «diferente»(por servirnos de un ejemplo C:error…)?¿Puedo definir imágenes como errores o bien solo paginas PHP?¿Que extensiones?
Hola :)
A ver, si sólo deseas dejar paso a 1 IP, tienes que decirlo allow a esa IP en particular.
Respecto a los errores, te invito a que dejes el directorio como esta, si bien es posible cambiarlo…
Hola,
Las instrucciones son muy claras. Si añades correctamente ese código tiene que bloquear la ip. Si no puedes dime la página.
Hola ignacio,
Gracias por tu respuesta, al final di con el código para hacer lo que quería pero tengo algunas dudas q me gustaría aclarar: si quiero permitir el paso a una sola IP, ¿debo poner el allow y después «deny all» o viceversa?
En la sección #15(fallos), el directorio de errores tiene que estar bajo «documentroot»? ¿se puede definir un directorio «diferente»(por poner un ejemplo C:error…)?¿Puedo definir imágenes como fallos o solo paginas PHP?¿Que extensiones?
Hola :)
A ver, si sólo deseas dejar paso a 1 IP, tienes que decirlo allow a esa IP particularmente.
Respecto a los fallos, te recomiendo que dejes el directorio tal y como esta, aunque es posible cambiarlo…
Hola ignacio,
Gracias por tu contestación, al final di con el código para hacer lo que quería pero tengo algunas dudas q me gustaría aclarar: si quiero permitir el paso a una sola IP, ¿debo poner el allow y luego «deny all» o viceversa?
En la sección #15(errores), el directorio de errores tiene que estar por debajo de «documentroot»? ¿se puede definir un directorio «diferente»(por servirnos de un ejemplo C:error…)?¿Puedo definir imágenes como errores o bien solo paginas PHP?¿Que extensiones?
Hola :)
A ver, si sólo quieres dejar paso a 1 IP, tienes que decirlo allow a esa IP particularmente.
Respecto a los errores, te invito a que dejes el directorio tal como esta, aunque es posible cambiarlo…
Ignacio muchas gracias, por la información acerca de .htaccess, me ha resuelto un gran inconveniente, lo felicito por el blog y desde ya estaré atento a sus consejos
Me alegro que te haya ayudado Santiago :)
Me alegro que te haya ayudado Santiago :)
Muy completo e interesante. ¡Gracias por el curro!
Me surge una duda que estoy tratando de resolver… en muchas partes se habla de poner el fichero .htaccess en el raíz de la instalación de Wordpress.
Estoy con un website y acabo de instalar el complemento «Acunetix WP Security», al escanear la instalación me da a entender que dicho documento debe residir en wp-admin.
–> The «.htaccess» file was not found in the «wp-admin» directory
¿estamos hablando de dos ficheros distintos?
Actualmente lo tengo residente en la raíz como señalas en este artículo.
Un saludo,
Juaco Amado
Hola,
A ver, el archivo .htaccess es imprescindible que esté en la carpetita raíz de la instalación wordpress. Hay, en ciertos casos, que crear un segundo .htaccess para poder tener opciones avanzadas.
Hola,
A ver, el fichero .htaccess es indispensable que esté en la carpeta raíz de la instalación wordpress. Hay, en algunos casos, que crear un segundo .htaccess para poder tener opciones avanzadas.
A pesar de que es una entrada con medio año de vida, algunos consejos me han resultado bastante útiles. ¡Gracias!
Gracias Rosario, este tipo de consejos acostumbran a durar en el tiempo. Como mucho cambia alguna parte del código, pero no el código entero de wordpress
Gracias Rosario, este género de consejos acostumbran a perdurar en el tiempo. Como mucho cambia alguna una parte del código, mas no el código entero de wordpress
Gracias a ti Sebastián :)
Gracias a ti Sebastián :)
Gracias a ti Sebastián :)
Gracias a ti Sebastián :)