Подтвердить что ты не робот

Хотите перенаправить всех посетителей, кроме меня

В основном я собираюсь начать работу над сайтом, и мне бы хотелось добавить что-то, что я могу добавить в мой .htaccess файл (или где-нибудь еще), который будет работать как этот псевдо-код: (мой ip будет вместо 127.0.0.1)

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

Надеюсь, это имеет смысл...

4b9b3361

Ответ 1

Это будет что-то вроде:

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]

Как Andrew указывает, что условие% {REQUEST_URI} позволяет избежать бесконечного цикла, если вы перенаправляетесь в тот же домен.

Как Xorax комментарии почти 9 лет спустя:

Вы не должны использовать REMOTE_HOST, во многих случаях он будет терпеть неудачу. Вы должны использовать REMOTE_ADDR.
Cf "разница между REMOTE_HOST и REMOTE_ADDR"

Ответ 2

Здесь решение, которое я закончил использовать, обратите внимание, что он похож на VonC, за исключением того, что он вызвал бесконечный цикл, если вы решили перенаправить на тот же домен.

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]

Следует также отметить, что 302 является временным перемещением и должен использоваться вместо ничего или 301.

Ответ 3

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

перед вашим wordpress ifmodule это перенаправит всех, кроме 3-х ip-адресов, о которых идет речь.

Вы просто ftp на сайт и отредактируете файл .htaccess, если ваш IP-адрес изменился.

Ответ 4

Будьте осторожны с этим подходом.

Я обжегся, применяя подход, основанный на IP, к ограничению доступа, а затем потерял аренду по моему IP-адресу.

Конечно, вы всегда можете ssh в поле, о котором идет речь, и снова измените файл .htaccess, но 5 минут паники, когда вы пытаетесь выяснить, что только что произошло, не совсем весело, если вы не ожидаете его произойдет.

Я рекомендую вместо этого использовать файл .htaccess(вместе с файлом htpasswd) для запроса учетных данных для доступа к вашему сайту разработки.

Хороший пример: http://aplawrence.com/foo-web/htaccess-authentication.html