无法使用前导 .. 在顶级目录上退出(Cannot use a leading .. to exit above the top directory)


曾经不止一次的提到过站点路径问题,从最初的绝对路径(/),到相对路径。都会或多或少存在一些不足。从实践效果来看,asp.net 中提供的"~/"的路径表示方式似乎是最好的解决方式了。利用"~/"来表示从站点的当前根路径,以"~/"开头表示页面的完整URL,可以避免绝对或相对路径产生的各种问题,保证URL Rewrite时相关的URL链接的正确性。

如果在不考虑搜索引擎搜索站点页面的情况下,"~/"已经可以满足正常的用户浏览了。但是如果使用SEO搜索模拟工具(http://www.webconfs.com/search-engine-spider-simul...)来模拟对网站页网的抓取效果就会发现会有这样的问题。有几级的路径就会出现几级的“../”,这样说不清楚,还是来举个例子吧。

比如现在有个DNS是:http://www.***.com,在首页中需要有一个链接为网站的首页(也就是本页面),使用"~/",那这个链接被SEO搜索到的链接是http://www.***.com/./

使用SEO工具去搜索URL为http://www.***.com/Sort/0.670.htm,在这个页面中出现的相关大部分页面都会出现http://www.***.com/../ (若是多一级路径,如http://www.***.com/Sort/0.670/857.htm,会有两级的"../",以些类推) 。其实如果去掉../就是真正正确的URL了。其它没有出现问题的URL地址都是没有使用("~/")。

博客园也是使用了Url Rewrite,但是我使用同样的模拟工具来搜过博客园的页面却没有出现这样的问题,不知道DUDU是否有使用到了"~/",还是直接使用在程序里替换成完整路径的形式,又或者是使用绝对路径。无法找出真正的原因,就无法做出最好的优化。不知道是否有人有过相关的研究?希望DUDU能提供一些经验。

你可能感兴趣的:(Directory)