如何使用PHP执行Apache子请求?
我正在尝试使用PHP函数如何使用PHP执行Apache子请求?,php,include,Php,Include,我正在尝试使用PHP函数virtual()向满足条件的“未找到”页面的用户正确显示错误文档。这是我在脚本上写的: // if condition is met virtual('/var/www/error/HTTP_NOT_FOUND.html.var'); 不知怎的,显示了一个空白页,这是我收到的警告: PHP警告:virtual():无法包括 “/var/www/error/HTTP_NOT_FOUND.html.var”-中的请求执行失败 /var/www/html/test第100行
virtual()
向满足条件的“未找到”页面的用户正确显示错误文档。这是我在脚本上写的:
// if condition is met
virtual('/var/www/error/HTTP_NOT_FOUND.html.var');
不知怎的,显示了一个空白页,这是我收到的警告:
PHP警告:virtual():无法包括
“/var/www/error/HTTP_NOT_FOUND.html.var”-中的请求执行失败
/var/www/html/test第100行
我已检查是否正在执行以下操作:
include_path=“.:/var/www/error”
<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>
选项+包括
AddOutputFilter包括html
AddHandler类型映射变量
命令允许,拒绝
通融
ErrorDocument 404/error/HTTP\u NOT\u FOUND.html.var
什么可能导致警告以及如何解决此问题?尝试从虚拟机中删除根文件夹:
virtual('/error/HTTP_NOT_FOUND.html.var');
为什么不使用常规的404页面和标题位置?@Dagon,因为我希望该页面显示404错误,而不是执行重定向。您的问题是“重定向用户”,我想我只是感到困惑。@Dagon,我很抱歉。我现在就修改它。好吧,那为什么不使用include?暂定+1。到目前为止,我自己还没有使用过
virtual
,但是查看文档,似乎确实需要URL路径,而不是文件路径。这很有道理,因为这是一个Apache子请求。你太棒了。它起作用了!你们中有人知道如何将var=“REDIRECT\u STATUS”
注入这个子请求吗?它显示的是无而不是404。谢谢