我正在尝试使用 PHP 函数 virtual()
向用户正确显示错误文档,如果满足条件则显示“未找到”页面。这是我在脚本上写的:
// if condition is met
virtual('/var/www/error/HTTP_NOT_FOUND.html.var');
不知何故,显示了一个空白页面,这是我收到的警告:
PHP Warning: virtual(): Unable to include '/var/www/error/HTTP_NOT_FOUND.html.var' - request execution failed in /var/www/html/test on line 100
我已检查是否正在执行以下操作:
在 php.ini 中,
include_path = ".:/var/www/error"
在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>
Apache 具有对错误文件夹和文件的读取权限。
可能导致警告的原因以及如何解决此问题?
最佳答案
尝试从虚拟中删除根文件夹:
virtual('/error/HTTP_NOT_FOUND.html.var');
关于php - 如何使用 PHP 执行 Apache 子请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10240076/