.htaccess - rewritecond - Quiero redirigir a todos los visitantes excepto a mí
rewritecond htaccess (4)
Básicamente, estoy a punto de comenzar a trabajar en un sitio y me gustaría algo que pueda agregar a mi archivo .htaccess (u otro) que funcione como este pseudo código: (mi ip estará en lugar de 127.0.0.1 )
if (visitors_ip <> 127.0.0.1)
redirectmatch ^(.*)$ http://www.example.com/under-construction.html
Espero que tenga sentido ...
Tenga cuidado con este enfoque.
Me he quemado al tomar el enfoque basado en IP para limitar el acceso, y luego perder el contrato de mi dirección IP.
Por supuesto, siempre puedes entrar en la caja en cuestión y cambiar el archivo .htaccess de nuevo, pero los 5 minutos de pánico mientras tratas de descubrir lo que acaba de pasar no son exactamente divertidos si no esperas que suceda.
Recomiendo usar el .htaccess (junto con un archivo htpasswd) para solicitar credenciales para acceder a su sitio de desarrollo.
Un buen ejemplo de eso está aquí: http://aplawrence.com/foo-web/htaccess-authentication.html
Aquí está la solución que terminé usando, nótese que es similar a la de VonC, excepto que causó un bucle infinito si elige redirigir al mismo dominio.
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} !^127/.0/.0/.1
RewriteCond %{REQUEST_URI} !/coming-soon/.html$
RewriteRule .* http://www.andrewgjohnson.com/coming-soon.html [R=302,L]
También se debe tener en cuenta que 302 es un movimiento temporal y se debe usar en lugar de nada o 301.
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect all except allowed IP
ReWriteCond %{REMOTE_ADDR} !^000/.000/.000/.001$
RewriteCond %{REMOTE_ADDR} !000/.000/.000/.002$
ReWriteCond %{REMOTE_ADDR} !^000/.000/.000/.003$
RewriteRule (.*) http://YourOtherWebsite.com/$1 [R=301,L]
</IfModule>
antes de su wordpress ifmodule esto redireccionará a todos excepto a la dirección IP de 3 en cuestión.
Simplemente ftp al sitio y edite el archivo .htaccess si su dirección IP cambia.
Eso sería algo así como :
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^127/.0/.0/.1
RewriteCond %{REQUEST_URI} !/mypage/.html$
RewriteRule .* http://www.anothersite.com/mypage.html [R=302,L]
Como señala Andrew , la condición% {REQUEST_URI} evita el bucle infinito si redirige al mismo dominio.
Como comenta Xorax casi 9 años después :
No debe usar
REMOTE_HOST
, fallará en muchos casos. Deberías usarREMOTE_ADDR
.
Cf " diferencia entreREMOTE_HOST
yREMOTE_ADDR
"