如何在PHP页面中添加相对链接(网络中远程机器上的文件名)
有三台机器- 1.服务器-部署应用程序的位置。叫它Machine1。 2.存储一些文件的第二台机器。叫它ABC机器。 3.从中访问部署在Machine1上的应用程序的计算机 比方说 在viewCart.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。 如果我将鼠
\\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,它很好,但是从任何其他机器,它都不工作。