0

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

可以说,http ://testapplication.com:8080/pagedirectory/viewCart.php

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

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

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

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

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

请帮忙 !!。

4

1 回答 1

0

一些想法:

  1. 您需要将那些“\”转为您的 URL
  2. 如果它添加基本目录,那么你可能有相对 url——如果你的 href="something" 它将转到 /base/directory/something。但是,如果您使用绝对 url href="/something" 那么它将转到 /something
  3. 如果它不是相对 URL,请检查您的 apache conf 并确保您没有一些时髦的重写规则。
于 2012-09-25T15:29:25.097 回答