如何使用PHP执行Apache子请求?

我正在尝试使用
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');
点赞