2011-09-08 4 views
3

: 나는 같은 URL에서 ID를 얻을 수있을 수없는 것 http:://example.com/#/?id=9이상한 URL을 구문 분석이 필요 (포함/# /?) 나는 내 웹 사이트의 URL을 변경하는 서비스와 함께 작동하도록 요청하고

합니다. $_GET이 비어 있으면 $_SERVER['REQUEST_URI']에만 /이 포함됩니다.

나는 어떻게 매개 변수에 도달해야합니까? 내가 젠드 프레임 워크를 사용하고

Zend_Debug::dump($_GET); // outputs array(0) 
echo $_SERVER['REQUEST_URI']; // outputs/
Zend_Debug::dump(parse_url($_SERVER['REQUEST_URI'])); // outputs array(["path"] => string(1) "/") 

하지만 난 그것을 함께 할 수있는 그 무언가를 의심 :

상황은 나는 노력했다.

미리 감사드립니다.

+0

@Gordon 감사합니다. – Iznogood

+0

실제로 몇 가지 질문이 있습니다 : http://stackoverflow.com/search?q=fragment+url+php. 예를 들어 조각이 경로 세그먼트의 일부인 것처럼 보이게 만드는 조각 뒤에 슬래시가 있기 때문에 다소 명확하지 않습니다. – Gordon

+0

@gordon이 조각을 찾기 위해 알아야 할 답변을 찾으려고합니다. 이런 것들을 지적 해 주셔서 감사합니다. – Iznogood

답변

3

URL과 관련하여 # (해시)을 초과하는 항목이 URL에 속하지 않는 간단한 이유 때문에 JavaScript로 구문 분석해야한다는 간단한 이유 때문에 PHP로 구문 분석 할 수 없습니다 측면 언어. 클라이언트와 이동 서버에서는 불가능 :

window.location.hash 

은 한마디로


을합니다 (# 문자를 포함) 해시 과거의 모든 것을 반환합니다.

+0

+1 전적으로 동의합니다. OP의 경우 : 링크가 'top'과 같이 형식화되어있는 경우 해당 링크를 클릭해도 서버에 아무 것도 보내지 않지만 대신 같은 페이지에 머물러있게됩니다. 따라서 JavaScript를 사용하는 것이 가장 합리적인 방법입니다. 해시가 변경된 경우 [onhashchange] 이벤트가 있습니다 (https://developer.mozilla.org/en/DOM/window.onhashchange). – Tadeck

+1

그래, 내가 아약스와 함께 갈 거라고 큰 호핑은 PHP에서 할 수있는 호핑 아니에요. 감사! – Iznogood

1

모두 포함하고 # 브라우저의 관심 위한 다음 (아마도 GET 데이터를 서버에 Ajax 호출을 게시).

서버는 결코 그것을 보지 못합니다.

관련 문제