2010-01-12 8 views
1

나는 모든 URI를 ErrorDocument를 통해 한 페이지로 변환하는 해결책을 모색했다..htaccess의 ErrorDocument에서 잘못된 uri 매개 변수를 출력하려면 어떻게해야합니까?

이것은 파일과 폴더 (좋은 URL)를 한 페이지로 보내는 이유입니다. 그러나, 나는 URI 문자열을 index.php? uri = string에 보내야합니다. ErrorDocument를 통해 가능합니까? 아니면 어떻게해야합니까?

그래서 나는 경우, 어떻게, 모든이 가능하다

http://www.something.com/games/specific-game

http://www.something.com/index.php?uri=/games/specific-game

에 다시 작성해야? 당신의 ErrorDocument를 같은 PHP 파일을 만들고 다음을 수행 할 수 있습니다

<html> 
<header> 
<meta http-equiv="Refresh" content="0; url=/index.php?uri=<!--#echo var="REQUEST_URI" -->"> 
</header> 
</html> 

편집 : : 간단한 방법이 서버가 지원하는 경우

답변

2

서버 쪽은 당신이 당신의 ErrorDocument를 같은 404.shtml 다음을 사용 (SSI)를 포함 태양 아래서 무엇이든 할 수 있습니다! :)

EDIT2 : 당신은 사용하여 원래 URI에 액세스 할 수 있습니다 $_SERVER['REQUEST_URI']

EDIT3 : 당신은 단지 동일한 호스트에 index.php로 리디렉션하는 경우 도대체, 당신은 단지 경우 작성한 ErrorDocument로 index.php 파일을 감지 있음을 설정할 수 있습니다 요청은 $_SERVER['REDIRECT_STATUS'] == '404'

+0

yees인지 확인하여 404 오류에서 리디렉션되지만 사용자가 입력 한 URI를 가져와야합니다. 그 오류는 다음과 같은 PHP ErrorDocument에 변수로 전송됩니까? – Skuta

+0

새로운 정보 :이 index.php로 리디렉션 되었기 때문에 작동하지 않습니다. uri = Skuta

+0

당신의 서버가 SSI를 지원하지 않는다는 것을 의미하면 PHP를 사용하십시오. 당신은 원래의 URI에 접근하기 위해'$ _SERVER [ 'REQUEST_URI']'를 사용할 수있다. – Lukman

관련 문제