如果用户没有登录我们的门户网站,我将使用PHP Codeigner库中的重定向将用户重定向到上次访问的URL。
$uri=$this->ci->uri->uri_string();$this->ci->session->set_flashdata('redirect',$uri);
它运行良好,只有一种情况除外:
当URL中有#符号时,例如:
http://myview.com/library#portal/sh2qQXF3SxAbJ
它重定向回http://myview.com/library
它不接受#符号后的地址。
在我们的前端,我们使用Backbone.js来检测#符号,并启动接下来需要使用Javascript执行的操作。。
我的问题是,是否有一种方法可以将整个URL存储在codeigniter会话变量中?
带有#
的部分被称为片段,它永远不会传输到服务器(除非您手动执行,作为AJAX或其他东西中的参数)。因此,PHP永远不会在查询URL中看到它。