我不确定这是否真的是CodeIgniter问题或浏览器问题。这种情况发生在Chrome中,但不适用于Safari。但是,我认为它不应该在任何浏览器中发生。
如果您转到包含
的 example.com/foo#redirect('bar');
您希望最终以 example.com/bar 结束。相反,您最终会以 example.com/bar# 结束。我不明白为什么哈希不会消失。这没有道理。发生了什么事?
答案 0 :(得分:10)
如果您需要删除哈希值,请使用refresh方法:
redirect('bar', 'refresh');
答案 1 :(得分:5)
它不能。 哈希标记只能由客户端脚本访问。代码点火器,PHP或任何其他服务器端脚本甚至不知道#符号后面是什么。发送到服务器的请求是#符号之前的请求。 #sign之后的部分将传递给要解释的文档。如果有一个id为#符号的元素,则页面向下滚动到该符号。否则js可以读取它并根据需要用它做事。
此外,HTTP重定向使用与原始页面相同的参数传输请求,因此hastag也会传递