Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Want to redirect all visitors except for me

Basically I'm about to start work on a site and I'd like something that I can add into my .htaccess file (or elsewhere) that'll work like this pseudo code: (my ip will be in place of 127.0.0.1)

if (visitors_ip <> 127.0.0.1)
    redirectmatch ^(.*)$ http://www.example.com/under-construction.html

Hopefully that makes sense...

like image 879
Andrew G. Johnson Avatar asked Nov 16 '08 00:11

Andrew G. Johnson


3 Answers

That would be something like:

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]

As Andrew points out, the %{REQUEST_URI} condition avoids infinite loop if you redirect to the same domain.

As Xorax comments almost 9 years later:

You should not use REMOTE_HOST, it will fail in many case. You should use REMOTE_ADDR.
Cf "difference between REMOTE_HOST and REMOTE_ADDR"

like image 107
VonC Avatar answered Nov 01 '22 10:11

VonC


Here's the solution I ended up using, note that it is similar to VonC's except that his caused an infinite loop if you chose to redirect to the same domain.

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]

It should also be noted that 302 is a temporary move and should be used instead of nothing or 301.

like image 40
Andrew G. Johnson Avatar answered Nov 01 '22 11:11

Andrew G. Johnson


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

before your wordpress ifmodule this will redirect everyone except the 3 ip address in question.

You simply ftp to the site and edit the .htaccess file if your IP address changes.

like image 2
CoRe Avatar answered Nov 01 '22 10:11

CoRe