donglang1894 2012-08-22 22:20
浏览 60
已采纳

如果URL中有#符号,则Codeigniter重定向功能将失败

I am using the redirect in the PHP Codeigniter library to redirect the user to the last accessed URL if they are not logged in to our portal.

$uri = $this->ci->uri->uri_string(); $this->ci->session->set_flashdata('redirect' , $uri);

It works fine except in one case:

When there is a # sign in the URL for ex:

http://myview.com/library#portal/sh2qQXF3SxAbJ

It redirects back to http://myview.com/library

It does not take the address after the # sign.

In our front end, we use a Backbone.js to detect a # sign and fire up what needs to be done next with Javascript..

My question is if there is a way to store the whole URL in the codeigniter session variable?

  • 写回答

1条回答 默认 最新

  • drus39136 2012-08-22 22:25
    关注

    The part with the # is called the fragment, and it is never transmitted to the server (unless you do it manually, as a parameter in AJAX or something). Thus, your PHP will never see it in a query URL.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试