.htaccess,htaccess;浏览器缓存错误重定向
-
21-12-2019 - |
题
对于我们的开发服务器,我有一个界面,人们可以将他们的IP临时添加到允许的Ip列表中。如果有人试图从列表中没有的IP访问url,它将被重定向到IP添加接口。但是一旦添加了IP,请求的原始url仍然重定向到接口(浏览器缓存了重定向,这对我们的客户端来说是混乱的)。
重定向是通过指定一个错误文档来完成的。我能强迫它不疼吗?
我的根中的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,htaccess
解决方案
您可以尝试使用这些规则,但不幸的是,如果浏览器决定缓存请求,我们无法做任何事情 警队 事实并非如此。
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>
不隶属于 StackOverflow