2009-11-23 4 views
0

빠른 질문이 있습니다. 여러분이 대답 할 수 있기를 바랍니다. 검색을 위해 POST를 사용하는 검색 시스템이 있는데, 지금은 Google 웹 로그 분석을 사용하여 쿼리를 추적하려고하지만 필요합니다. GET url 매개 변수를 사용하여 URL 밖으로 매개 변수를 가져오고 싶지 않은 것은 POST 대신 GET을 사용하도록 전체 검색 시스템을 다시 작성하는 것입니다. 이 주위에 어떤 방법이 있습니까? 내가 검색 POST를받는 페이지에서 새 페이지로 GET 호출을 만들 수 있다고 생각했지만 리디렉션하지 않으려 고합니다. 실제로 리디렉션하지 않고 URL을 "히트"하기를 원합니다.PHP POST 호출에서 호출

이것이 가능합니까?

다른 해결책도 있습니다.

답변

0

당신은 abritrary URL을 지정할 수 있습니다 참조 . 예를 들어, 우리의 모든 다른 체크 아웃 페이지는 validate.php를 거치므로,이 URL은 사람이 볼 수있는 URL이지만 Google에 특정 추적 URL을 제공하기 위해 몇 가지 추가 코드를 넣습니다. 예를 들어

: -

<script type="text/javascript"> 
    try { 
     var pageTracker = _gat._getTracker("UA-XXXXX-1"); 
     pageTracker._setDomainName("example.com"); 
     pageTracker._trackPageview("/checkout/login/"); 
    } catch(err) {} 
</script> 

는 구글 (우리처럼) 브라우저에서 페이지가 실제로 /validate.php

당신이 할 수있는 출력을 보여줍니다에도 불구하고 /checkout/login/ 인 것으로이 문제를 추적 만들 것 다른에서이 페이지 변수 PHP 변수

$searchterm = $_POST['search']; 
echo 'pageTracker._trackPageview("/search/' . urlencode($searchterm) . '");'; 
0

물론 도움을

감사합니다, 멋진, SEO 친화적 인 URL을 생성하기 위해 아파치의 mod_rewrite 모듈을 사용하고 URL에 사용자 키워드를 전달합니다. .htaccess 파일에서 "www.yoursite.com/search/what+a+user+searches+for/"

같은

뭔가 당신은 당신이 시킴으로 빨리 스크립트있어 RewriteRule ^search/(.*)/$ /search.php?keywords=$1

규칙을 만들 postvalues ​​작업을 계속하고 GET 변수가있는 URL을 제공합니다. explode("+", $_GET["keywords"])을 사용하면 검색 값을 추출 할 수 있습니다.

0

배열 $ _REQUEST를 사용하면 모든 요청 매개 변수 GET 및 POST에 액세스 할 수 있습니다. 이 작업을 수행 할 수있을 것입니다

+0

하지만 그는 분석 데이터를 얻고 자하므로 새로운 URL을 제공해야하므로이 시나리오에서는 $ _REQUEST가 적합하지 않습니다. – Ben

+0

네, 맞습니다. 나는 그 질문을 잘못 해석했다. – rogeriopvl

0

있는 유일한 방법은, 얻을 수있는 형태의 방법을 다시 설정하고 단지 $ _GET

한게없는 그런 거대한 변화에 $ _POST 요청을 변경?

0

당신은 당신의 Google 웹 로그 분석 코드를 변경할 수 있습니다 - 당신은 당신의 GA 코드를 추가 할 때 Tracking Custom Variables