2011-09-29 7 views
0

빠른 질문입니다. PHP에서 404 헤더를 보내는 방법을 알고 있지만, 페이지를 계속 열어도 컨텐츠가 계속로드됩니다. 이 경우 die()를 사용하여 스크립트를 죽여야합니다. 나는 매우 빠르고 내 사이트에 잘 맞는 맞춤형 집으로 만든 CMS를 가지고있다. 그러나 어떤 이유로 구글 인해 더 이상 존재하지 않는 오래된 코드로 대부분이었다 사이트에 부적절한 링크를 색인하고있다. 어떤 일이 일어나고 것은 예 : "/AWebDirectory/AndAnother/function.fopen/"등의 디렉토리가PHP가 404 헤더 문제를 보냅니다.

www.someurl.com/index.php/AWebDirectory/AndAnother/function.fopen/ 

의 index.php는 CSS와 물건이 존재하지만 같은이 404을 던지는되지 않은 즉, URL에 추가 얻었다이다 디렉토리 구조로 인해로드되지 않습니다. 어떤 도움을 주셔서 감사합니다.

+0

PHP에서는 '.htaccess'로 처리해야합니다. 당신이 그것들을 없애고 싶다면 그 URL들을'index.php'에 다시 써야합니다. – Shef

답변

0

스크립트를 종료해야합니다. 계속 진행하면됩니다. 이것은 정상입니다. 나는 100 % 확실하지 않다,하지만 난 당신이 리디렉션을 찾는 것 같아요 :

<?php 

/** 
* @see http://php.net/manual/en/function.header.php 
*/ 

header("Location: http://www.example.com/"); /* Redirect browser */ 

/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 

은 404 헤더를 모두 사용하여 시도하고 사용자 정의 404 페이지로 리디렉션합니다. 그게 너를 일으켜 세워야 해.

+0

왜 종료합니까? 404 페이지는 아주 정상적입니다. 다른 페이지와 마찬가지로 내용이 있습니다. 중요한 것은 헤더입니다. 당신은 '404' 오류가있는 예제를 제공하지 않고, 리디렉션이있는 예제를 제공합니다. – Shef

+0

그는 이미 물어 본 질문에 따라 404 헤더 비트를 얻었습니다. 출구가 끝나면 내가 잘못하지 않으면 리디렉션이 발생합니다. –