Как правильно написать.htaccess для режима обслуживания?

Я знаю основы написания.htaccess, которые обрабатывают страницу режима обслуживания.

Я не хочу использовать плагин, поскольку мне нужно заменить весь сайт WP в режиме обслуживания.

Я попытался добавить дополнительные правила, чтобы разрешить доступ к WP Back-End, только для определенных IP-адресов.

Я перепробовал несколько попыток и в итоге очень близко подошел к тому, что мне нужно.

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

Вот мой текущий.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/images [OR]
RewriteCond %{REQUEST_URI} ^/wp-admin/.* [OR]
RewriteCond %{REQUEST_URI} ^/wp-content/.* [OR]
RewriteRule .+ - [L]

RewriteCond %{REMOTE_ADDR} !^93\.62\.93\.79
RewriteCond %{REQUEST_URI} !^/maintenance-mode\.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance-mode.html [R=302,L]

Что я должен добавить / изменить?

1 ответ

Вы нашли решение? Я не проверял это с WP, но это работало для меня для другой CMS.

Options +FollowSymLinks

RewriteEngine On

# exclude file (otherwise infinity loop)
RewriteCond %{REQUEST_URI} !^/under-construction/maintenance\.php$
# exclude images and css
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css) [NC]
# If it's not your IP address
RewriteCond %{REMOTE_HOST} !^111\.222\.333\.444$
# Redirect /abc to example.com/abc.
RewriteRule ^(.*)$ http://www.domain.com/under-construction/maintenance.php [R=307,L]

Возможно, это поможет вам.

Другие вопросы по тегам