用户在页面1.php
上。在sumbit表单重定向到2.php
之后。如果使用浏览器后退按钮,我想重定向到页面3.php
。
如下:
答案 0 :(得分:1)
你没有。这超出了网页的控制范围,这是一件好事。
如果一个网站可以通过这样的浏览器进行控制,我会感到不安,当我按下“返回”时,将我重定向到我没有去过的页面。我的第一直觉是进行病毒扫描或类似的事情,因为我认为有些事情是非常错误的。您的用户将如何反应?
编辑:您使用建议的解决方案编辑了问题:“如何: 1.php [submit form] => 3.php [header( location:2.php)] => 2.php“
如果使用HTTP标头执行此操作,某些浏览器可能会将其合并到历史记录中的单个页面中。如果你通过JavaScript重定向来实现它,它会起作用,因为那时浏览器不够聪明,无法合并它们。您还需要跟踪状态(是用户提交表单还是只是回来?)并且您需要确保Cache-Control
标头设置正确(no-cache
)以便浏览器不会请缓存3.php,因为我认为该页面看起来不一样,具体取决于您是从1.php提交表单还是从2.php返回。
但是,如果你在中间没有3.php并且在1.php上进行相同的状态跟踪和Cache-Control
,那么你会得到相同的结果,所以也许你没有需要一个3.php。
答案 1 :(得分:1)
使用会话。在会话变量中访问您的最后一页,一旦用户按下后退按钮,您的代码应该读取该变量并重定向。
但不要依赖历史和东西。
您也可以尝试使用history.js(即使我自己仍在寻找解决方案)。