返回信息流☆─────────────────────────────────────☆
wks (cloverprince) 于 (Sun Jul 20 15:37:00 2008) 提到:
有时候,我的网站内部有很多页面,放在不同子目录里面。比如
http://www.example.com/index.html
http://www.example.com/about/about.html
http://www.example.com/download/beta/download.html
然后,就引出了很多问题。比如about.html和download.html都有指向index.html的链接,如果使用相对路径,就是
<!-- in about.html --> <a href='../index.html'>foo foo foo</a>
<!-- in download.html --> <a href='../../index.html'>bar bar bar</a>
他们的路径是不同的。很不方便,对于静态页面也很难维护。
当然,为了方便,我可以干脆直接写<a href='/index.html'>baz baz baz</a>,这个放在任何路径的页面里面都是可以的。
但是,不方便之处来了:在不同的地方,网站的根目录是不同的。
如果我自己搭一个服务器,可以用根目录。
有时候放在我的个人目录里:
http://www.example.com/~wks/index.html
http://www.example.com/~wks/about/about.html
这时候用绝对路径href='/index.html'就会出问题。
记得ASP.NET的WEB CONTROL会自动转换地址。只要在服务器里面配置好site的根目录,页面里面连接指定一下hyperlink='~/index.aspx',发送到客户端的时候就会自动转换成相应的路径(about.aspx发到客户端就是'../index.aspx',download.aspx发到客户端就是'../../index.aspx')
不知道其他技术会(比如静态、xml+xslt、php、jsp、django)可以如何较好地解决这个问题呢?
☆─────────────────────────────────────☆
ericyosho (ericyosho) 于 (Sun Jul 20 15:45:26 2008) 提到:
我依稀记得HTML的规范里面就有base这个标签的呢?
类似……,用来指明当前文件中的/ 代表的是哪个路径。
=。=
☆─────────────────────────────────────☆
wks (cloverprince) 于 (Sun Jul 20 16:12:14 2008) 提到:
嗯,找到了,就是用<base>标签来控制。
不过,base控制的是相对路径。
像这样:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Our Products</TITLE>
<BASE href="http://www.aviary.com/products/intro.html">
</HEAD>
<BODY>
<P>Have you seen our <A href="../cages/birds.gif">Bird Cages</A>?
</BODY>
</HTML>
这个连接会指向:
http://www.aviary.com/cages/birds.gif
这是一条镜像帖。来源:北邮人论坛 / www-technology / #5477同步于 2008/12/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
[合集] 关于网站hyperlink使用绝对路径
tntzwz
2008/12/21镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。