Ограничение доступа publi c ко всему сайту WP - PullRequest
0 голосов
/ 09 апреля 2020

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

Я видел изменение htaccess, например:

order deny,allow
deny from all
allow from 98.6.000.111

Но 1) это не позволяет мне временно перенаправлять пользователей на другую HTML страницу и 2) говорить о временно , в моем опыте пользователи имели их браузеры кэшируют htaccess, и даже после его изменения они все еще перенаправляются, и это, очевидно, нежелательно.

Существуют ли другие стратегии или способы предотвращения упомянутых выше проблем с помощью метода htaccess?

Примечание: я не использую плагин для этого, поскольку сайт претерпевает значительные изменения, включая замену плагинов / code / et c, поэтому мне нужно, чтобы перенаправление было более высокого уровня, чем уровень WP прочее.

1 Ответ

2 голосов
/ 10 апреля 2020

Вы можете использовать временное перенаправление 302:

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} !^98.6.000.111
RewriteRule .* http://www.anothersite.com [R=302,L]

или (вы почти все поняли)

ErrorDocument 403 http://www.anothersite.com
Order deny,allow
Deny from all
Allow from 98.6.000.111

В последнем варианте есть несколько предостережений в зависимости от структуры вашей папки WordPress.

В случае перенаправления на поддомен вы можете сделать:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^98.6.000.111
RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$
RewriteCond %{REQUEST_URI} !^/yoursubdirectory/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /yoursubdirectory/$1
RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$
RewriteRule ^(/)?$ yoursubdirectory/index.html [R=302,L]

Объяснение:

  • 1-я строка включает механизм перезаписи Apache, mod_rewrite.
  • 2-я строка проверяет, поступает ли запрос с вашего IP. Если это так, то перенаправление не происходит.
  • 3-я строка проверяет, используются ли запросы http / https и www/non-www.
  • 4-я строка предотвращает бесконечность-l * Сценарий 1026 * путем проверки запроса по имени вашего подкаталога.
  • Последняя строка в основном перенаправляет все запросы, которые удовлетворяют всем предыдущим условиям перезаписи, в указанный подкаталог и файл.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...