Исключая страницу обслуживания в определенном каталоге
В настоящее время я использую этот код в своем файле.htaccess для запуска страницы обслуживания моего сайта.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 /maintenance.html
Header Set Cache-Control "max-age=0, no-store"
</IfModule>
Как сделать так, чтобы я мог получить доступ к каталогу, над которым я буду работать, а не только к своему IP-адресу, если мой друг захочет получить к нему доступ?
Я немного искал, но пока ничего не нашел
ура
Том
1 ответ
Я бы сказал, что вы можете просто внедрить некоторые правила исключений до обработки режима обслуживания:
<IfModule mod_rewrite.c>
RewriteEngine On
# immediately end all rewriting for specific IPV4 addresses
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.123$ [OR]
RewriteCond %{REMOTE_ADDR} ^321\.321\.321\.321$
RewriteRule ^ - [END]
# for everyone else: check for maintenance mode
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 /maintenance.html
Header Set Cache-Control "max-age=0, no-store"
</IfModule>
В качестве альтернативы вы можете добавить отрицательные условия в качестве дополнительных условий в логику перезаписи режима обслуживания. Но я думаю, что выше легче читать и поддерживать.