什么是绝对路径?
大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如只要看到这个路径:c:/website/img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。类似于这样完整的描述文件位置的路径就是绝对路径。我们不需要知道其他任何信息就可以根据绝对路径判断出文件的位置。而在网站中类似以http://www.merat.cn/img/photo.jpg来确定文件位置的方式也是绝对路径。
另外,在网站的应用中,通常我们使用"/"来表示根目录,/img/photo.jpg就表示photo.jpg文件在这个网站的根目录上的img目录里。但是这样使用对于初学者来说是具有风险性的,因为要知道这里所指的根目录并不是你的网站的根目录,而是你的网站所在的服务器的根目录,因此当网站的根目录与服务器根目录不同时,就会发生错误。
什么是相对路径?
让我们先来分析一下为什么会发生图片不能正常显示的情况。举一个例子,现在有一个页面index.htm,在这个页面中联接有一张图片photo.jpg。他们的绝对路径如下:
c:/website/index.htm
c:/website/img/photo.jpg
如果你使用绝对路径c:/website/img/photo.jpg,那么在自己的计算机上将一切正常,因为确实可以在指定的位置即c:/website/img/photo.jpg上找到photo.jpg文件,但是当你将页面上传到网站的时候就很可能会出错了,因为你的网站可能在服务器的c盘,可能在d盘,也可能在aa目录下,更可能在bb目录下,总之没有理由会有c:/website/img/photo.jpg这样一个路径。那么,在index.htm文件中要使用什么样的路径来定位photo.jpg文件呢?对,应该是用相对路径,所谓相对路径,顾名思义就是自己相对与目标位置。在上例中index.htm中联接的photo.jpg可以使用img/photo.jpg来定位文件,那么不论将这些文件放到哪里,只要他们的相对关系没有变,就不会出错。
另外我们使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。(学习过dos的朋友可能更容易理解)
经常看到有人在论坛里问URL的绝对路径和相对路径问题,在网站中应该使用哪种?对SEO有什么影响?这实际上没有绝对的答案,两者各有优缺点。Google员工JohnMu前几天在Google Groups中做了一个挺全面的总结。下面半翻译半解释评论。
绝对路径URL优点是:
+)如果有人抄袭采集你的内容,里面的链接还会指向你的网站。有些抄袭的比较懒,连里面的链接一起抄了过去。
+)如果站长不能做301转向,因而有网址规范化的问题,使用绝对路径有助于链接指向选定的URL版本。假设站长不能从URL
http://domain.com
做301到
http://www.domain.com
站长希望被收录的版本是第二个,带www的。所有网页中的链接直接使用绝对路径如:
http://www.domain.com/article.html
http://www.domain.com
链接URL硬编码入HTML文件。这样就算有蜘蛛或用户进入了 http://domain.com 版本,如:
http://domain.com/article.html
这个页面上的链接使用绝对路径的话就会链接向:
http://www.domain.com/article.html
http://www.domain.com
用户点击这些已经硬编码的链接后,还是会回到带有www的版本。这也有助于搜索引擎蜘蛛识别到底哪个版本是你想要的。
+)就算你把网页移动位置,里面的链接还是指向正确的URL。
-)缺点是,除非链接是动态插入的,不然没办法在测试服务器上进行测试。因为里面的链接将直接指向真正的域名URL,而不是测试服务器中的URL。
-)除非链接是动态插入的,不然移动内容页面将很困难。因为内容页面位置发生变化,在其他页面上的链接却可能无法跟着变化,还指向原来的已经硬编码的绝对路径。
相对路径优缺点正好相反。优点是:
+)移动内容比较容易。
+)在测试服务器上进行测试也比较容易。
-)缺点,内容页面换了位置时,链接容易失效。
-)更容易被抄袭和采集。
不过很多采集软件其实是可以自动鉴别绝对路径和相对路径。所以使用绝对路径有助于把自己的链接也被抄到采集网站上,只在某些情况下是有效的。
所以通常我是建议,除非不能做301转向,因而产生了严重的网址规范化问题时,还是使用相对路径比较简单。在正常情况下,相对路径不会对网站SEO有什么副作用,绝对路径也不会有多少特殊好处。而出错的可能性,比如搜索引擎错误判断URL,是非常非常低的。
|