Несколько часов назад я использовал следующий код в своем htaccess, чтобы перенаправить домашнюю страницу на страницу обслуживания:
RewriteCond %{REQUEST_URI} !/maintenance/index.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|js|css) [NC]
RewriteCond %{REMOTE_ADDR} !^92\.95\.110\.92
RewriteRule .* /maintenance/index.html [R=302,L]
Затем я закомментировал код, чтобы страница снова отображалась, однако перенаправление все еще имело место после изменения доступа к предыдущему. Я также перезапустил сервер. Затем я проверил заголовки в онлайн-инструменте, и вот что произошло:
Sun, 18 Nov 2018 07:57:58 GMT
Server:
Apache
Location:
http://www.website.com/maintenance/index.html
Cache-Control:
max-age=172800
Expires:
Tue, 20 Nov 2018 07:57:58 GMT
Content-Length:
231
Content-Type:
text/html; charset=iso-8859-1
Via:
1.1 varnish (Varnish/6.1), 1.1 varnish (Varnish/6.1)
X-Cache-Hits:
31
X-Cache:
HIT
Age:
5602
Connection:
keep-alive
Redirecting to: http://www.website.com/maintenance/index.html
Похоже, перенаправление 302 каким-то образом кешируется до 20 ноября 2018 года?
Я попытался добавить на страницу следующий код, перезапустил сервер. Перенаправления не произошло, но тогда страница была полностью пустой:
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>
Могу ли я сбросить это «временное» перенаправление 302, чтобы остановить его как можно скорее? И удалить его полностью? У меня есть доступ к оболочке Linux. Большое спасибо за любую помощь.
Похоже, это проблема с лаком. По умолчанию перенаправление 302 не кэшируется. Посмотрите на свою конфигурацию Varnish.
Благодаря @MichaelHampton за правильный ответ мне пришлось очистить деньги от лака через ssh, используя: $ curl -X PURGE –