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

时间:2014-02-14 11:55:18

标签: php html apache

我对HTML,PHP和其他东西都不熟悉。

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

"C:/path/to/docroot/"

一切都很好。

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

href="mail-form.php"

并没有绝对路径,因为我不知道哪个是生产服务器中的绝对路径,我不想在测试后更改它们。 (如果这很糟糕的话,我愿意接受建议。)

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

"file:///C:/path/to/docroot/index.html"

然后点击链接,浏览器尝试打开

"file:///C:/path/to/docroot/mail-form.php"

这不会被PHP解释,而是以文本形式返回。

如果我改为输入

"localhost/index.html"

然后点击链接,浏览器调用

“本地主机/邮件form.php的”

并正确解释它应该是什么。

我显然可以忍受这个,但我很好奇是否有办法使Apache / PHP服务于“file:/// ...”这个东西和“localhost / ...”一样事情?毕竟它们都是同一个文件。或者它是浏览器问题?或者我错了?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

没有。 file:///协议不是HTTP。浏览器甚至不会将它发送到您正在运行的localhost服务器,而只是读取该文件。