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