2012-11-21 2 views
2

혼란 스럽거나 모호한 질문 제목에 대해 사과하십시오. 나는 더 좋은 것을 생각해 낼 수 없었다.(다음 페이지에서) 앵커 태그가 클릭되었는지 확인하십시오 (이전 페이지의 앵커 태그)

상황

페이지 abc.php를 가정 앵커 태그의 집합이 있습니다. 내가 BBB을 클릭하면

<a href="xxx.php">AAA</a> 
<a href="xxx.php">BBB</a> 
<a href="xxx.php">CCC</a> 

, 내부 알아내는 방법이 여기 가져 링크했다 xxx.phpBBB 것을? 같은 방법으로 CCC을 클릭하면 xxx.php에서 CCC 링크 때문에 리디렉션이 발생했음을 알 수 있습니까?

간단히 말해서, 한 페이지로 리디렉션되는 링크 집합을 찾고 해당 페이지에서 리디렉션이 발생한 링크를 결정합니다.

PS : 내가 query strings를 사용하지만 선호하는 것은 가능한 한 그들만큼 피할 것을 할 수있는 알고있다. 또한 PHP로만 가능하도록하고 싶습니다 (가능한 경우 서버 측, 즉 $_SERVER['HTTP_REFERER']과 같은 것).

답변

1

클라이언트에서 쿼리 문자열을 노출하지 않으려는 경우 (문제 범위를 피할 수있는 이유가 표시되지 않음) 서버 측에서 모두 수행하려는 경우 아파치에 대한 재 작성 규칙.

뭔가

<a href="xxx_aaa">AAA</a> 
<a href="xxx_bbb">BBB</a> 
<a href="xxx_ccc">CCC</a> 

그리고 같은 당신의 .htaccess의 규칙 다시

같은 : 그것은

$_REQUEST['id'] 

예와 함께 위치를 알 수

RewriteRule ^xxx_(.*)$ xxx.php?id=$1 

그리고 당신의 스크립트 내를, 결국에는 노출 문자열을 사용하지 않아도 쿼리 문자열을 사용하지만 $ _SERVER [ 'HTTP_REFERER' ] 작동 안 할 것이다.

+0

+1. 이것은 좋은 것 같습니다. 그러나 더 나은 방법이없는 경우이를 최후의 수단으로 유지합니다. – asprin

+0

더 이상 답변이 없으므로 해결책을 찾아 보겠습니다. – asprin