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



有三台机器-1.服务器-部署应用程序的位置。称之为Machine1。2.存储一些文件的第二台机器。称之为ABC机器。3.我正在访问部署在Machine1上的应用程序的机器。

比方说,http://testapplication.com:8080/pagedirectory/viewCart.php

在viewCart.php上,显示了一些类似\ABCFolder1file.xml的链接。如果我通过键入或复制到浏览器直接访问此路径,它就可以工作,并且我可以看到文件。但如果我点击网页,它不会打开,并给出错误-The requested URL /pagedirectory/\ABCFolder1file.xml was not found on this server.

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

http://testapplication.com:8080/pagedirectory/\ABCFolder1file.xml

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

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

请帮忙!!。

一些想法:

  1. 你需要让那些"\"变成你的URL的另一种方式
  2. 如果它添加了基本目录,那么你可能有相对的url--如果您的href="something",它将转到/base/didirectory/something。但是如果您使用绝对url href="/homething",则它将转到/某物
  3. 如果不是相对URL,请查看您的apacheconf,并确保您没有一些时髦的重写规则

相关内容

最新更新