4

virtual()条件が満たされた場合、「見つかりません」ページのユーザーにPHP関数を使用してエラードキュメントを適切に表示しようとしています。これは私がスクリプトに書いたものです:

// if condition is met
virtual('/var/www/error/HTTP_NOT_FOUND.html.var');

どういうわけか、空白のページが表示され、これは私が受け取った警告です:

PHP警告:virtual():'/var/www/error/HTTP_NOT_FOUND.html.var'を含めることができません-100行目の/var / www / html/testでリクエストの実行に失敗しました

次のことが行われていることを確認しました。

  1. php.iniでは、include_path = ".:/var/www/error"

  2. httpd.confでは、

    <IfModule mod_negotiation.c>
    <IfModule mod_include.c>
     <Directory "/var/www/error">
      Options +Includes
      AddOutputFilter Includes html
      AddHandler type-map var
      Order allow,deny
      Allow from all
     </Directory>
     ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    </IfModule>
    </IfModule>
    
  3. Apacheは、エラーフォルダとファイルへの読み取りアクセス権を持っています。

警告の原因とこの問題の解決方法は何ですか?

4

1 に答える 1

2

仮想からルートフォルダを削除してみてください:

virtual('/error/HTTP_NOT_FOUND.html.var');
于 2012-04-20T05:36:01.380 に答える