2012-08-22 3 views
0

PHP Codeigniter 라이브러리의 리디렉션을 사용하여 사용자가 마지막으로 액세스 한 URL을 우리 포털에 로그인하지 않은 경우 리디렉션합니다.URL에 # 기호가있는 경우 Codeigniter 리디렉션 함수가 실패합니다.

$ 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을 사용

내 질문입니다 전체 URL을 저장할 수있는 방법이있는 경우 codeigniter 세션 변수에?

답변

2

#이있는 부분을 조각이라고하며 절대로 수동으로 AJAX 또는 다른 매개 변수로 사용하지 않는 한 서버로 전송되지 않습니다. 따라서 PHP는 쿼리 URL에서 PHP를 보지 못합니다.

+0

안녕하세요 Amadan, 정보 주셔서 감사합니다. 주위를 둘러 볼 방법이 있습니까? 이 경우 리디렉션이 어떻게 작동합니까 /해야합니까? 우리는 어떻게 그것을 저장할 것인가? –

+0

'location.href' (전체) 또는'location.hash' (단편)로 클라이언트 쪽에서 잡아서 서버로 보냅니다. '$ this-> ci-> uri' 대신에 이것을 사용하십시오. 나는 당신의 어플리케이션의 흐름을 결코 알지 못한다. (그리고 나는 codeigniter를 한번도 사용하지 않았다.) 그래서 당신은 언제, 어디서 코드를 전송할 지에 대한 구체적인 정보를 줄 수 없다. – Amadan

관련 문제