我对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 / ...”一样事情?毕竟它们都是同一个文件。或者它是浏览器问题?或者我错了?
答案 0 :(得分:4)
您无法让Apache服务file:///
。使用该方案指示浏览器直接从文件系统获取文件。如果您想使用Apache,那么您必须使用http://
(或另一个提供Apache支持的网络请求的URL方案)。
答案 1 :(得分:3)
没有。 file:///
协议不是HTTP。浏览器甚至不会将它发送到您正在运行的localhost服务器,而只是读取该文件。