2014-02-11 2 views
0

사용중인 확장 프로그램의 문제를 해결하는 빠른 패치를 적용하려고합니다. 결과적으로, 내가 도움을 요청하고있는이 "bandaid-like"픽스를 용서해주십시오. 이것은 단지 약 20 분 이내에 문제를 해결하기위한 노력 일 뿐이며 늦은 시각을위한 영구적 인 수정 일정을 세우는 것입니다.

즉, 저는 $ _SERVER [ "HTTP_REFERER"]를 사용하여 기대할 수있는 가치를 얻는 데 어려움을 겪고 있습니다. 우리의 URL은 현재 다소 이상합니다. 대한 URL의 예는 ... 아래와 같습니다

http://domain.com/custom-wheels-performance-tires/custom-wheels.html#/custom-wheels-performance-tires/custom-wheels.html?wheel_diameter=2663 

$ _SERVER를 사용하여 [ "HTTP_REFERER"는, 내가 (위의 URL에 대한)지고있어 값이 :

http://domain.com/custom-wheels-performance-tires/custom-wheels.html 

분명, 그것을 URL의 #에서 잘리고 있습니다. URL에서이를 제거하는 것이 상식이지만,이를 수행하기 위해 다른 사람의 코드를 파헤쳐 야 할 것이며이 패치에 할당 된 시간을 초과합니다. 전체 URL을 가져 오는 방법이 있습니까 ($ _SERVER [ "HTTP_REFERER"]가 아닐지라도)?

모든 도움에 감사드립니다!

+3

$ _SERVER [ "HTTP_REFERER"]이 (가) 100 % 신뢰할 수 없음 –

+3

아니요,'fragment' ('#')는 처음에는 서버에 _never_ 전송되지 않습니다. _need_ ... 요청에 추가하려면 javascript-voodoo가 필요합니다 (예 : 더 이상 단순한 링크 없음). – Wrikken

+1

BTW :이를 지원하는 브라우저의 경우 [실제로 실제 URL을 푸시하면됩니다 (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history). 그 조각의 사용은 사라집니다. – Wrikken

답변

1

URL이 브라우저에 의해 처리되는 방식으로 인해 서버는 해시 조각 식별자 (#)를 지나서 어떤 것도받지 못합니다. 이 단편은 페이지를 앵커로 스크롤하기 위해 브라우저에서 사용하기위한 것입니다.

그러나 JavaScript를 사용하여 조각을 가져 와서 브라우저로 보낼 수 있습니다.

관련 문제