Хотите перенаправить всех посетителей кроме меня
-
08-07-2019 - |
Вопрос
По сути, я собираюсь начать работу над сайтом, и мне бы хотелось, чтобы что-то, что я мог добавить в свой файл .htaccess (или в другом месте), которое работало бы так, как этот псевдокод: (мой ip будет вместо 127.0.0.1) р>
if (visitors_ip <> 127.0.0.1)
redirectmatch ^(.*)$ http://www.example.com/under-construction.html
Надеюсь, это имеет смысл ...
Решение
Это будет что-то вроде :
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]
Как отмечает Андрей , условие% {REQUEST_URI} позволяет избежать бесконечного цикла, если вы перенаправляете в тот же домен.
Как Xorax комментирует почти 9 лет спустя :
Вы не должны использовать
REMOTE_HOST
, во многих случаях это не удастся. Вы должны использоватьREMOTE_ADDR
.
Cf " разница междуREMOTE_HOST
иREMOTE_ADDR
" р>
Другие советы
Вот решение, которое я в итоге использовал, обратите внимание, что оно похоже на 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.
<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-адрес изменится.
Будьте осторожны с этим подходом.
Я потерял сознание, приняв IP-подход к ограничению доступа, а затем потерял аренду моего IP-адреса.
Конечно, вы всегда можете ввести ssh в соответствующее поле и снова изменить файл .htaccess, но 5 минут паники, когда вы пытаетесь выяснить, что только что произошло, не совсем забавны, если вы этого не ожидаете. произойдет.
Вместо этого я рекомендую использовать .htaccess (в сочетании с файлом htpasswd) для запроса учетных данных для доступа к сайту разработки.
Хороший пример этого можно найти здесь: http://aplawrence.com/foo -web / Htaccess-authentication.html р>