更改BASE HREF以获取绝对参考?

时间:2013-09-09 18:34:33

标签: html url relative absolute base

我将外部页面的大型html源(例如http://www.foo.com/bar/something.html)复制到我PC中的目录中(例如,/ xxx)。文件'something.html'包含许多绝对引用,格式为href =“/ bar / another.html”或src =“/ bar2 / yetanother.jpg”等。

如果我只是点击'something.html'(从我的浏览器以'file://'访问它) - 或者即使我将其上传到我自己的服务器并通过'http://'访问它 - 所有这些引用都将在文件所在的同一主机中查找。我仍然希望将它们放在原始主机中(即http://www.foo.com)。

如果它们是相对引用(没有第一个斜杠),我会简单地把< base href =“http://www.foo.com/”>在HEAD部分。 如何使用这些绝对引用实现类似效果?

还要考虑something.html包含许多其他文件(css,js,...)的情况,这些文件也可能有这样的绝对引用......

1 个答案:

答案 0 :(得分:-3)

您的术语是向后的:引用/bar/another.html是相对引用,而不是绝对引用。 /表示在资源的根目录重新启动。对于file:///网址,这将从文件系统的根目录开始,但它仍然是相对的。

如果你添加<base href="...">,它会在...之前添加到网址,除非网址确实是绝对的(以http://开头,ftp://,{{1}等等)

如果您使用基本href作为file://,您将从那里(不是从文件系统的根目录)链接资源,或者作为file:///where_i_downloaded/来强制浏览器尝试从原始服务器加载(尝试,因为AJAX服务的URL可能不适用于此)。