如何在PHP页面中添加相对链接(网络中远程机器上的文件名)

如何在PHP页面中添加相对链接(网络中远程机器上的文件名),php,apache,urlencode,Php,Apache,Urlencode,有三台机器- 1.服务器-部署应用程序的位置。叫它Machine1。 2.存储一些文件的第二台机器。叫它ABC机器。 3.从中访问部署在Machine1上的应用程序的计算机 比方说 在viewCart.php上显示一些链接,如\\ABC\Folder1\file.xml。若我通过键入或复制到浏览器直接访问此路径,它会工作,并且我能够看到文件。但如果我单击网页,它不会打开并给出错误-此服务器上找不到请求的URL/pagedirectory/\\ABC\Folder1\file.xml。 如果我将鼠

有三台机器- 1.服务器-部署应用程序的位置。叫它Machine1。 2.存储一些文件的第二台机器。叫它ABC机器。 3.从中访问部署在Machine1上的应用程序的计算机

比方说

在viewCart.php上显示一些链接,如
\\ABC\Folder1\file.xml
。若我通过键入或复制到浏览器直接访问此路径,它会工作,并且我能够看到文件。但如果我单击网页,它不会打开并给出错误-
此服务器上找不到请求的URL/pagedirectory/\\ABC\Folder1\file.xml。

如果我将鼠标移到这个链接上,在浏览器底部的状态栏中,我会看到

http://testapplication.com:8080/pagedirectory/\\ABC\Folder1\file.xml

所以,它似乎将调用页面的基本目录添加到所有链接,从而抛出错误

日志显示
在URI(decoded='/somepath')中找到了%2f(encoded'/')…在apache日志中返回404 referer
,当我尝试从我的计算机单击页面上显示的上述链接时。如果我在托管应用程序的机器上访问该应用程序,它就可以完美地工作,不会出现任何问题。那么我做错了什么?我在一些帖子中看到在上使用
allowencodedslash,但不确定放在哪里,我没有使用任何虚拟主机

请帮忙

一些想法:

  • 您需要将这些“\”转到URL的另一个方向
  • 如果它添加了基本目录,那么您可能有相对的URL-- 如果您的href=“something”,它将转到/base/directory/something。但是 如果使用绝对url href=“/something”,则它将转到 /某物
  • 如果它不是相对的URL,请查看您的apache配置文件,并确保您没有一些时髦的重写规则
    谢谢迈克的建议。但如果是这样,我就不能通过从部署应用程序的机器访问应用程序来访问URL。所以,如果我尝试使用机器1,它很好,但是从任何其他机器,它都不工作。