html - 找不到 URL 错误,而它确实存在

标签 html linux url cgi

我在服务器 [Linux 操作系统] 上运行了一个小的 CGI 脚本。以下是脚本输出的一部分..

<tr><td valign="center">Lol</td><td valign="center">10112</td><td><a 
href="/home/pathtopdf/abc.pdf">abc.pdf</a></td></tr>

但是当我点击这个 abc.pdf 超链接时,浏览器显示错误信息:URL /home/pathtopdf/abc.pdf was not found on the server.虽然 pdf 和路径肯定存在,并且路径中的所有文件和文件夹[包括 pdf] 都具有完全权限。

我的服务器位置是@/srv/www/srv/www/cgi-bin 中的脚本, 但是当我将 pdf 链接如下时

<tr><td valign="center">Lol</td><td valign="center">10112</td><td><a 
href="/srv/www/for_html/abc.pdf">abc.pdf</a></td></tr>

错误信息是The requested URL '/srv/www/for_html/abc.pdf' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden.文件也有权限。

可能是什么问题?

最佳答案

您的问题是您尝试请求 webroot 之外的文件。所以通过点击它,浏览器真的在请求

http://example.com/home/pathtopdf/abc.pdf

不是

/home/pathtopdf/abc.pdf

您可以编辑您的 apache 配置文件并将虚拟主机添加到子域下的该目录(比如下载)

关于html - 找不到 URL 错误,而它确实存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10810052/

相关文章:

linux - 主节点的 Kops 滚动更新失败并显示 "Cluster did not pass validation"

url - url中的uuid,对google友好吗?

javascript - Blackberry Web Works 如何在每次启动应用程序时触发事件

javascript - 火狐扩展不工作

javascript - 打开本地文件时如何绕过 document.domain 限制?

Javascript 书签删除部分网址

java - 如何 "Monitor"WebView中的URL基础

javascript - 需要通过 JavaScript 访问本地文本文件

linux - 在 bash 的 for 循环中使用 "ls"是否安全

c - Xenomai clock_nanosleep in POSIX skin跳转到Linux Kernel