.htaccess;Браузер кэширует перенаправление ошибок
-
21-12-2019 - |
Вопрос
Для нашего сервера разработки у меня есть интерфейс, где люди могут временно добавлять свой IP в список разрешенных IPS.Если кто-то пытается получить доступ к URL из IP, который не находится в списке, он перенаправлен в интерфейс IP-добавления.Но как только IP добавлен, исходный URL-адрес, который был запрошен, все еще перенаправляет интерфейс (браузер кэшировал перенаправление, это запутано для наших клиентов).
Перенаправление сделано, указав errordocument.Могу ли я заставить некочковать это?
Мой .htaccess в корне:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(!www\.)?(.+)
RewriteCond %{HTTP_HOST} ^(.*)\.SITENAME\.com
RewriteRule ^(.*)$ http://SITENAME.com/%1/$1 [L,P,NC,QSA]
#####
ErrorDocument 403 http://xs.SITENAME.com
order deny,allow
deny from all
allow from 12.345.678.90 #1389452253
allow from 12.345.678.91 #1389461806
allow from 12.345.678.92 #1389486472
allow from 12.345.678.93 #1389550179
allow from 12.345.678.94 #1389618643
.
Редактировать: Принятый ответ, казалось, работал в первую очередь, но в некоторых случаях по какой-то причине это не так.Лучшее решение оказалось, чтобы изменить .htaccess каждый раз, когда кто-то перенаправлен на страницу ошибки.(Откройте .htaccess, измените строку комментариев в #RANDOM_STRING (например, Unix, например)) Это делает браузер пересмотреть .htaccess
Решение
Вы можете попробовать использовать эти правила, но, к сожалению, если браузер решит кэшировать запрос, что-то мы не можем сделать для Force это не к.
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
.
Вы также можете обернуть эти правила внутри <FilesMatch>
или <Files>
для цели только один или несколько URL:
<FilesMatch "\.(htm|html)$">
# The rules from above
</FilesMatch>
<Files index.php>
# The rules from above
</Files>
.