Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于Apache文档根目录的混淆_Javascript_Php_Apache_Virtualhost_Document Root - Fatal编程技术网

Javascript 关于Apache文档根目录的混淆

Javascript 关于Apache文档根目录的混淆,javascript,php,apache,virtualhost,document-root,Javascript,Php,Apache,Virtualhost,Document Root,在我为公司工作的一个应用程序中,我遇到了一个奇怪的行为,或者可能是我的误解,我希望我能得到一些澄清。 应用程序由Apache提供服务,根目录为:/company/client。例如,对于我访问的每个页面,它实际上都会指向服务器/company/client/index.phtml中的文件,依此类推。在应用程序的一个模块中,它包含一个move\u upload\u filephp函数,目标目录是/images/example/,当页面运行时,应用程序试图转到绝对服务器根/images/exampl

在我为公司工作的一个应用程序中,我遇到了一个奇怪的行为,或者可能是我的误解,我希望我能得到一些澄清。 应用程序由Apache提供服务,根目录为:/company/client。例如,对于我访问的每个页面,它实际上都会指向服务器/company/client/index.phtml中的文件,依此类推。在应用程序的一个模块中,它包含一个
move\u upload\u file
php函数,目标目录是/images/example/,当页面运行时,应用程序试图转到绝对服务器根/images/example/,而不是/company/client/images/example/

另外,由window.open打开的新窗口具有一个img标记,该标记具有src='/images/exmaple/',它指向服务器根,而不是/company/client/images/example/,这是预期的吗

我遗漏了什么,还是与Apache配置有关

其他信息:

应用程序作为conf文件中的虚拟主机,DocumentRoot“/company/client/”

执行window.open和php函数的页面用作/company/client/index.phtml中的Iframe


为我的错误感到抱歉。

感谢everyone特别是Chris G的帮助,问题是代码错误地使用了GET变量,导致图像名称无法传递。我很困惑,因为有人在代码中犯了一个错误,移动了相对于根文件夹的图像,这是不正确的。这让我觉得PHP也像对待客户端一样对待path,这是一个错误。我猜我可以得出结论,web服务器文档根仅适用于客户端的所有内容,比如url、JS、HTML?

使用
。phtml
扩展至少有点不规则。惯例是
.php
,但公开此类信息通常是不好的形式。如果使用多视图,扩展可能会消失。“web根”定义从何处开始查找静态资产。
/images/example.png
的URL实际上位于
/company/client/images/example.png
中。在内部使用文件路径时,请记住这一点。PHP路径与文件系统相关,不知道或不关心文档根文件夹。像
/test/blabla.phtml
这样的客户端URL肯定不会比文档根更高。你一定是弄错了。@tadman就我所知,OP绝对意识到了这一点,并特别询问了观察到的与该概念不符的行为。@tadman是的,正如chris提到的,我知道url的路径,chris你是对的,这是我的错误,我本来想说其他的话,但却被冲昏头脑了。客户应该完全不知道web根是什么。您也不希望通过错误消息之类的方式无意中泄漏此信息。基本上是这样的:脚本或图像src、样式表或链接href或表单操作,所有这些最终都是从服务器请求的完整URL。Apache将路径附加到文档根目录,然后发回文件或运行PHP脚本。但是,如果是后者,PHP脚本基本上是一个在服务器上运行的程序;它在硬盘上有一个位置,可以完全访问。