如何使用<base />重定向链接?

时间:2009-08-11 15:44:36

标签: html

我有一个用纯HTML编写的信息页面。

所有图片链接都是这样的:

&lt; img src =“/ images / image.png”/&gt;所以they refer to the root of the web site

但是我想在更新之前查看嵌入了图像的页面。在chrome中,&lt; img src =“/ images / image.png”/&gt;在文件中查找:/// c:/ imgs /。但是我想将其重定向到file:/// C:/ web / site / imgs /。

我正在尝试使用<base >无效。

4 个答案:

答案 0 :(得分:2)

<base >仅影响与网页相关的链接。它基本上“假装”您的页面位于不同的位置,因此相对于该页面给出的地址现在将相对于该新位置。

您的地址根本不与页面相关。无论您在file:///页面内的哪个位置,图像都清晰地显示为“/ images /..."

在大多数平台上,在localhost上设置简单的Web服务器非常简单。 (Mac OS X附带一个开箱即用的功能,只需在系统偏好设置中选中一个框即可。)设置此类服务器进行开发可让您在http://localhost/查看该网站,并可能解决此问题链接“问题。

如果该解决方案不切实际,您可以考虑设置别名或符号链接,以使您已经正常工作的服务器相对链接。不过,这有点过时了。

答案 1 :(得分:1)

当您的网址完全相同时,您无法使用<base>。以下是几种选择:

解决方案#1:使用Windows subst命令为“root”目录创建驱动器号:

subst R: C:\web\site

然后将浏览器指向R:\

解决方案#2:安装配置为C:\web\site的根目录的网络服务器,并将浏览器指向该位置。

使用真实的Web服务器是一种更好的测试网站的方法 - 浏览器的JavaScript安全策略在本地文件和通过Web服务器读取的文件之间存在显着差异。

答案 2 :(得分:1)

如果你想要&lt;

你必须将图像路径更改为相对URL。 BASE&gt;标记以更改域以及文件夹路径。

答案 3 :(得分:0)

首先,您必须确保base的href属性内容以/

结尾

例如:

<base href="file:///C:/web/site/imgs/" />

鉴于此,base将更改您网页中所有相对 URI的行为,因此<img src="/images/image.png" />将继续指向file:///images/image.png,但

<img src="images/image.png" />

现在指向file:///C:/web/site/imgs/images/image.png