Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
Php 如何使apache服务文件:///_Php_Html_Apache - Fatal编程技术网

Php 如何使apache服务文件:///

Php 如何使apache服务文件:///,php,html,apache,Php,Html,Apache,我对HTML、PHP和其他东西有点陌生 我正在尝试在网站上线之前对其进行本地测试。我使用PHP和MySQL设置Apache服务器,并将虚拟服务器指向localhost "C:/path/to/docroot/" 一切都很好 现在在我的index.html中有一个链接指向同一目录(C:/path/to/docroot/)中的文件“mail form.php”。在这个链接中,我只指定了 href="mail-form.php" 没有绝对路径,因为我不知道生产服务器中的绝对路径是哪个,而且我不想在

我对HTML、PHP和其他东西有点陌生

我正在尝试在网站上线之前对其进行本地测试。我使用PHP和MySQL设置Apache服务器,并将虚拟服务器指向localhost

"C:/path/to/docroot/"
一切都很好

现在在我的index.html中有一个链接指向同一目录(C:/path/to/docroot/)中的文件“mail form.php”。在这个链接中,我只指定了

href="mail-form.php"
没有绝对路径,因为我不知道生产服务器中的绝对路径是哪个,而且我不想在测试之后全部更改它们。(如果这不好的话,我愿意接受建议)

现在我不明白的是:当我输入浏览器的URL时

"file:///C:/path/to/docroot/index.html"
然后单击链接,浏览器将尝试打开

"file:///C:/path/to/docroot/mail-form.php"
这不会被PHP解释,而是作为文本返回

如果我输入

"localhost/index.html"
然后点击链接,浏览器调用

“localhost/mail form.php”

它得到了正确的解释,显示了它应该做什么


我显然可以接受这一点,但我很好奇是否有办法让Apache/PHP服务于“file:///...就像“localhost/…”一样?毕竟,它们都是同一个文件。还是浏览器问题?还是我想错了?

你不能让Apache服务
文件://
。使用该方案指示浏览器直接从文件系统获取文件。如果您想使用Apache,那么您必须使用http://(或另一个发出Apache支持的网络请求的URL方案)。

否。
文件://
协议不是http。浏览器甚至不会将其发送到您正在运行的本地主机服务器,而只是读取文件。

这不是浏览器问题,而是浏览器功能!谢谢你的回复,谢谢你的解释。