2012-04-16 3 views
1

사이트의 홈 디렉토리를 하위 디렉토리로 이동 했으므로 하위가 이제 루트가됩니다.PHP 리디렉션/URL 및 쿼리 문자열 얻기

전 세계에서 여전히 하위 디렉토리를 가리키는 링크가 있으므로 모든 쿼리 문자열 매개 변수를 가져 오는 동안 리디렉션을하고 싶습니다.

뉴스 블로그는 "/ news /"에 있었지만 지금은 블로그가 홈 디렉토리입니다.

예를 들어, 나는

example.com/news/?p=1092 
to 
example.com/?p=1092 

문제는 많은 쿼리 문자열이 있다는 것입니다을 리디렉션 할, 나는 그들 모두를 잡고 싶다.

나는 할 수 없습니다 ($ _GET [ "P"])

도있을 수 있기 때문에 :

example.com/news/?page=1092 & 위치 = XYZ

새 응용 프로그램에서 뉴스 디렉토리를 계속 사용하고 있기 때문에 htaccess를 사용할 수 있다고 생각하지 않습니다. 따라서 다시 쓰기 규칙은 매우 복잡합니다.

나는 아마도 뉴스 디렉토리에 index.php를 만들고 parse_url 또는 $ _SERVER [ 'REQUEST_URI']를 할 수 있다고 생각하고 있었다. example.com/news/에서 분열을하지만 어떻게해야할지 모르겠다.

생각하십니까?

답변

1

했나 페이지의 URI가

$request_url=$_SERVER['REQUEST_URI']; 

출력 news/?p=1023

다음 /news/ 이후 구성 요소가 리디렉션 얻을 결과

explode("/", $request_url, 2); 

을 폭발해야 얻을

$link = $request_url[2]; //the second piece of the explode 
header('Location: http://www.example.com/$link') ; 
+0

감사합니다. 나는 그것을 작동 시켰어. $ request_url = explode ('/', $ request_url)을 설정해야했습니다. – User970008

0

앞쪽 컨트롤러 패턴을 찾고 있습니다. Google에는 this one 등 많은 사례가 있습니다. 희망이 도움이!