我在页面的
<base>
部分有一个 <head>
标签,如下所示:
<base href="http://localhost/framework">
下面的脚本是相对的(当然是在
<base>
之后):
<script src="/assets/jquery-1.7.1.min.js">
但是当我从 firebug 打开 jQuery 时,它显示:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
Blah Blah Blah....
当我使用下面的链接时,就可以了:
<script src="http://localhost/framework/assets/jquery-1.7.1.min.js">
我到处寻找答案,但看来我的工作是正确的!那么问题出在哪里呢?
/assets/jquery-1.7.1.min.js
不是相对的,而是绝对的*,即使有 /
标签,base
也会将其带到根。
如果删除该
/
,它应该使其相对于当前路径,当存在 base
标签时,该路径将是 http://localhost/framework/
。
注意: 您还需要在
/
的末尾添加尾随 href
,以表明它是一个文件夹。
完整的工作示例:
<!doctype html>
<html>
<head>
<base href="/test/" />
<script src="assets/test.js"></script>
<body>
hi
</body>
</html>
*
实际上取决于你问的是谁,它仍然是相对的,因为它是相对于当前域的。但我更喜欢将其称为绝对路径,因为它表示路径是基于当前域的根路径。尽管如此,我认为从技术上来说,这使得它在宏伟的计划中是相对的,并且仅就当前领域而言是绝对的。无论如何。
尝试使用基本标签,例如:
<base href="http://localhost/framework/">
你的脚本标签如:
<script src="assets/jquery-1.7.1.min.js">
对于那些找不到答案的人。尝试删除 .htaccess 文件,它几乎每次都会帮助我。