2017-05-19 13 views
0

エラーが発生したがエラーが見つからない場合、.htaccessファイルを使用してエラーページにリダイレクトしています。私はerror.phpページが動作しているが、次の結果が得られたかどうかテストしています。要求を処理するためにErrorDocumentを使用しようとしているときに、404 Not Foundエラーが発生しました。htaccess:404 Not Found ErrorDocumentの試行中にエラーが発生しました。

の.htaccess

RewriteEngine On 

ErrorDocument 400 /error.php 
ErrorDocument 401 /error.php 
ErrorDocument 403 /error.php 
ErrorDocument 404 /error.php 
ErrorDocument 500 /error.php 
ErrorDocument 502 /error.php 
ErrorDocument 504 /error.php 

error.php

<?php 

switch($_SERVER["REDIRECT_STATUS"]){ 
    case 400: 
     $title = "400 Bad Request"; 
     $description = "The request can not be processed due to bad syntax"; 
    break; 

    case 401: 
     $title = "401 Unauthorized"; 
     $description = "The request has failed authentication"; 
    break; 

    case 403: 
     $title = "403 Forbidden"; 
     $description = "The server refuses to response to the request"; 
    break; 

    case 404: 
     $title = "404 Not Found"; 
     $description = "The resource requested can not be found."; 
    break; 

    case 500: 
     $title = "500 Internal Server Error"; 
     $description = "There was an error which doesn't fit any other error message"; 
    break; 

    case 502: 
     $title = "502 Bad Gateway"; 
     $description = "The server was acting as a proxy and received a bad request."; 
    break; 

    case 504: 
     $title = "504 Gateway Timeout"; 
     $description = "The server was acting as a proxy and the request timed out."; 
    break; 
} 
?> 

結果:

Not Found 

The requested URL /myweb/faq.html was not found on this server. 

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 
Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/7.0.13 Server at 192.168.5.120 Port 80 

答えて

0

あなたはDocumentRootののルート(/error.php)にをリダイレクトしています選択した仮想ホストのError.phpがDocumentRoot上にあるかどうかを確認します。

他のエラーを表示するには、Apacheのログファイルを確認してください。

あなたの問題ではありません。ただし、AllowOverrideを正しく設定する必要があります。

チェックApacheの設定上のディレクトリがyesの場合は、.htaccessファイルは、いくつかの設定を上書きできるように、それを変更する必要があり

AllowOverride none 

のようなものを持っている場合。 ErrorDocumentディレクティブはのFileInfoこのようなすべてのを必要とします:

AllowOverride FileInfo 
関連する問題