浏览器的重定向

时间:2012-09-11 13:52:33

标签: php javascript linux iptables

我正在为局域网编写一个互联网访问工具,每当用户尝试访问任何网页时,都会使用Linux + iptables重定向到登录页面。该登录页面询问用户和密码,如果验证成功,它将删除iptables规则,以便后续请求转到最初预期的网页。

情况就是这样:

  1. 如果我转到http://www.abc.com,我的默认gw会将我重定向到10.0.10.10/login.php
  2. 我成功登录。
  3. 如果我再次尝试http://www.abc.com,浏览器会自动将我发送回10.0.10.10,就像某种缓存一样。
  4. 如果我尝试进入abc.com以外的其他页面,则按预期工作。
  5. 如何告诉浏览器删除“记住”的重定向规则?

3 个答案:

答案 0 :(得分:3)

基于http://www.w3schools.com/tags/att_meta_http_equiv.asp

如果您使用这些元标记页面,则不会被浏览器或代理服务器缓存:

<meta http-equiv=”expires” content="Wed, 22 Jul 1981 16:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-store" />
<meta http-equiv="cache-control" content="no-cache" />

答案 1 :(得分:1)

您需要硬刷新缓存。

通常你可以用 CTRL + F5 CTRL + R

来做到这一点

或者您更改规则以使第二次重定向到同一页面但具有一些#片段标识符

例如:如果用户输入abc.com并在登录时被重定向,如果他再次尝试abc.com并且您发现他已登录,则将其重定向到abc.com#1

答案 2 :(得分:0)

您可以使用可以执行所需操作的javascript从浏览器历史记录中删除该页面/网址。 当用户点击浏览器上的后退按钮时,他也不会回到他/她登录的上一页。