codecamp

绝对路径和相对路径


什么是绝对路径?什么是相对路径?这里打个小比喻,你从起点开始走到了终点,但是你突然发现你想要去的是另一个地方。绝对路径就是让你二话不说回到起点重新开辟另一条道路,相对路径就是以现在的终点作为起点,教你如何去到你想去的那个地方。

那么两者之间的区别在哪里呢?

绝对路径

这是绝对路径:"//www.w3cschool.cn/feijishu/4g721px5.html"

相对路径

这是主页"//www.w3cschool.cn/"上显示的相对路径:"feijishu/4g721px5.html"

如果是一样的目录里的不同页面,比方说在"//www.w3cschool.cn/project/feijishu/mp4f1pnq.html"上显示的相对路径就是:"./4g721px5.html"

万一你的起点是"//www.w3cschool.cn/html/tutorial/"不能简单从这个目录继续,还得后退到上一个目录的时候该怎么办呢?这时候就要写作“../feijishu/4g721px5.html

后退两个目录就加两个“../”,以此类推,比如说你在"//www.w3cschool.cn/project/feijishu/4g721px5.html",这时候的相对路径就是../../feijishu/4g721px5.html

特别规则

最后是以“/”开头的,那就表示直接回到起点重新开始。网址如果有太多层目录,比如说"//www.w3cschool.cn/A/B/C/D/E/F"(网站里找不到这么深目录的网址,就随便来一个嘿嘿嘿),这时候我们简单粗暴地用“/”开头,就直接回到根目录,然后再顺着向下查找/feijishu/4g721px5.html”。所以要记得,其它相对路径的规则前面是不加“/”的哟!

重点

  / :表示根目录

  ./ :表示当前目录

  ../ : 表示上一级目录(../../上二级)

绝对路径和相对路径

相对路径的好处是什么?

因为网站经常是在本地搭建测试过后才上传到服务器的,这时候网址就会变成本地路径,比如说"E:/feijishu/4g721px5.html",直接用这样的地址设立超链接过后在本地浏览自然是没啥问题,但是放到网上问题就大了,链接变得全部都不能点了不是?所以变成基本上采用相对路径。

绝对路径的好处是什么?

既然相对路径这么方便,为什么我们最终看到的网站呈现出来的都是绝对路径?这自然是为了方便搜索引擎的抓取,所以进行了一次转换。顺着绝对路径蜘蛛可以爬向主域名甚至各个目录,但是如果使用相对路径的话,它就会循规蹈矩地按照指示走下去。

为什么要做让五岁小孩学代码这么残忍的事情?
关于超链接的傻瓜式教学
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }