(Soy consciente de que no se recomienda la seguridad a través de la oscuridad).
Estoy tratando de ocultar el hecho de que estoy usando Wordpress. Esta publicación es útil, pero solo aborda el contenido (más o menos). Estoy interesado en que ocurra lo siguiente:
El usuario intenta acceder a cualquier URL con
wp*
una subcadena a través de su navegador.Resultado: Redirigido a la página 404.
El usuario / administrador del blog sabe que para iniciar sesión deben ir
http://example.com/blogin/
.Resultado: apache los redirige a
http://example.com/wp-admin/
.Si un usuario intenta acceder directamente
wp-admin
desde su navegador, se lo envía al # 1.Resultado: Redirigido a la página 404.
Cosas que he hecho hasta ahora
Noté que, para una instalación predeterminada de WordPress, podía acceder a cualquiera de los
wp*
archivos en el directorio raíz (relativo) de la instalación de WP. Específicamentewp-settings.php
fue problemático porque dio información sobre mi configuración. Si un usuario accede a él, arrojará algunos errores de PHP y revelará parte de la estructura del directorio. Edité mi archivo php.ini paradisplay_errors
desactivar. Ahora el accesohttp://example.com/wp-settngs.php
abre una página en blanco.Esto en sí mismo no es ideal porque revela que
wp-settings.php
existe. De hecho,wp*
es posible acceder a todos los archivos diferentes (con resultados diferentes). Luego pongo lo siguiente en mi archivo htaccess:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
Esto funcionó muy bien! Cualquier cosa con un
wp*
fue enrutada a mi página 404 personalizada. Pero ahora no puedo acceder a mi página de administrador.He intentado insertar esta línea en el código anterior:
RewriteRule ^blogin wp-admin [NC,R,L]
. Se suponía que debía ser justo después,RewriteBase
pero esto no funcionó.Traté de hacer un:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
esperando que un árbitro de mi sitio (a través de la reescritura de la regla) pueda acceder a wp-admin, pero no a alguien de fuera. Esto tampoco funcionó. Apache se quejó de que no puede usar esta directiva desde htaccess.
He leído la documentación de apache; Entiendo los conceptos, teóricamente, pero necesito ayuda práctica.
EDITAR: Estoy buscando una solución que use .htaccess en lugar de httpd.conf ya que mi configuración particular hace que usar httpd.conf sea inconsistente.