Apache的相对路径对我不起作用

时间:2010-12-23 23:55:55

标签: apache html5 relative-path

我目前正在开发一个相当复杂的HTML5应用程序。到目前为止,我一直在测试只是直接从我的文件系统启动HTML文件,没有涉及服务器。但是,我现在需要使用localStorage,而as has been previously discussed on StackOverflow,localStorage将不会在该环境中持久存在,因此我现在必须引入某种类型的主机服务器。

我设置了Apache 2.2.17,配置为localhost。我将DocumentRoot配置为包含我的HTML文件的目录(该文件简称为index.html),因此我现在可以http://localhost/index.html.访问该页面。我已确认localStorage将在此设置中正确保留。

然而,我遇到了一个非常严重的问题,除了开发人员之外,其他任何人都无法使该网站无法使用。我的大部分布局取决于自定义的jQueryUI主题,我在<head>中访问如下:

<link rel="stylesheet" href="themes/custom-theme/jquery-ui-1.8.6.custom.css/">

当我直接从我的文件系统启动HTML文件时,这个相对路径工作正常。然而,Apache似乎没有找到它。据Firebug说,它正在回归:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head></body>
<h1>Not Found</h1>
<p>The requested URL /themes/custom-theme/jquery-ui-1.8.6.custom.css/ was not found on this server.<p>
</body></html>

知道是什么给出的吗?我想不出任何理由为什么相对路径在Apache下的行为会比在文件系统中直接使用它时显然不同,显然它位于我的DocumentRoot的子目录中,所以我希望它可以被Apache访问服务器

任何线索?

FWIW,我是一位非常有经验的程序员,但是设置Apache的新手。如果我应该玩其他配置选项,可能性是我不熟悉它们。

1 个答案:

答案 0 :(得分:0)

如果从CSS网址中删除最后一个“/”,该怎么办:

<link rel="stylesheet" href="themes/custom-theme/jquery-ui-1.8.6.custom.css" />

(您目前正尝试将“jquery-ui-1.8.6.custom.css”作为目录访问...)