로컬 개발 컴퓨터에서 Windows 7에서 실행되는 Apache 2.2.16 및 PHP 5.3.5가 포함 된 PDT + Zend Server를 다운로드했습니다. 로컬 사이트에서 404, 403 및 404 용 ErrorDocuments를 포함하는 .htaccess를 포함 시켰습니다. 그리고 500. PHP에서 사용자가 존재하지 않는 문서를 요청할 때 헤더 ("HTTP/1.0 404 Not Found")를 사용합니다. 내 로컬 서버에서 모든 것이 잘 작동합니다. 내 사용자 정의 ErrorDocument가 나타나 행복합니다.HTTP 상태 코드를 PHP에서 Apache로 되 돌리시겠습니까?
Linux 서버에서 Apache 2.2.38 및 PHP 5.3.8을 실행하는 공유 호스트에 모든 것을 업로드합니다. PHP에서 오지 않은 경우 갑자기 ErrorDocuments가 작동합니다.
Apace가 PHP의 오류 코드를 볼 수 있도록 PHP.ini 또는 httpd.conf 또는 .htaccess에 몇 가지 설정이 있습니까? 이는 내 dev 호스트 서버가 올바르게 작동하지만 내 공유 호스트가 아니라는 것을 의미합니까?
이것에 대한 연구에서 필자가 보았던 모든 것은 "일단 아파치가 PHP에 전달하면 상태 코드가 보이지 않습니다." 그런 경우 왜 내 dev 서버가 제대로 작동합니까?
편집 명확성을 위해
, 여기에 htaccess로이다 :
# Use PHP 5.3
Action application/x-hg-php53 /cgi-sys/php53
AddHandler application/x-hg-php53 .php
#Deny Include Files
<Files *.inc>
order deny,allow
deny from all
</files>
#Provide custom error documents
ErrorDocument 404 /Errors/Http404.php
ErrorDocument 403 /Errors/Http403.php
ErrorDocument 500 /Errors/Http500.php
사용자가 사용자 myhost.com/jdkslfjdls으로 이동했을 경우 오류의 컨텐츠를 수신하기 때문에 작동 htaccess로 /Http404.php.
그러나 사용자가 myhost.com/images/GetImage.php?Id=5 (이미지 # 5가없는 경우)로 이동하면 사용자는 콘텐츠를받지 못합니다.
(내부 IP 주소) /images/GetImage.php?Id=5로 이동하면 사용자는 Errors/Http404.php의 내용을받습니다.
사용자가 GetImage.php? Id = 6 (이미지 # 6이 있지만 권한이없는 경우)에 액세스하려고하면 비슷한 문제가 발생합니다. 공유 서버에서 빈 페이지 또는 브라우저의 403 오류가 발생합니다. 내 dev에 서버에서, 그들은 내 실제 403 오류 페이지를 얻을.
.inc 파일에 액세스하려고하면 403 오류 문서가 공유 서버에서도 작동합니다.
사용자 지정 오류 문서의 위치는 어디입니까? 그것은 리눅스 서버에 의해 연결할 수 있어야합니다, 그래서 귀하의 Windows 서버에 다음 그 이유는 그것을 보이지 않는 – thegaffney
그것은 내가 존재하지 않는 문서, 예를 들어 http://myhost.com/으로 이동하려고하면 보여줍니다 hfjdshfkdsh. 그것은 PHP에서 헤더를 사용할 때만 실패합니다. –
어디에서 헤더 ("HTTP/1.0 404 Not Found")를 넣고 있습니까? 존재하지만 당신은 그것이 404 코드를 던지고 싶어 문서에? – thegaffney