这部分跟Web标准和可访问性无关,但是把它放在这是因为一个URL的创建方式将对搜索引擎如何把站点编入索引以及它对访问者的可用程度都有很大的影响。
一些搜索引擎机器人不能跟踪以字符串结尾的地址。这种地址通常出现在一些把内容动态的存在数据库的网站里,看起来就像下面这样:
http://yourdomain.com/products.asp?item=34627393474632&id=4344
最简单的创建对搜索引擎机器人和人们都有易的URL的方法是改变它看起来的样子,使URL看起来就像直接的某个目录,上面的URL应该改变成:
http://yourdomain.com/products/item/34627393474632/id/4344
Web服务器将会解释新的URL,并在内部把它转换成原始的URL,最终以字符串结束。这部分的结尾是一些站点的网址,上面将会有更多的相关信息。
一个更好的改变URL的方法(多少有一些麻烦)是彻底的把看到的URLs改写成人们易读的方式:
http://yourdomain.com/products/flowers/tulips/
这种URLs的好处是搜索引擎机器人将把你的站点更好的收入到索引中,对于大家来说,它的可读性也更强,并使你避免了泄漏你所使用的服务器方技术。因为在URLS中,并没有显示服务器专有文件的扩展名,如 .asp、.cf、.cgi 和 .jsp,这会使你更容易的更改服务器器方的技术,所以这种URLs显得十分的必要。
如果你选择使用包含字符串的URLs,把&编译成HTML的实体&是很重要的。如果你不这么做,一些浏览器会替你完成这个工作,好象这是他们应该做的。当他们碰到&,就把它看作一个实体的开始。如果紧接着&后的文本符合HTML中的一个实体,浏览器就会转变这个URL,大多数情况,这将会破坏URL中的字符串。
还有一件事值得一提,对于大多数站点,使用 www这个次级域名是不必要的。应该用 http://yourdomain.com/ 来代替 http://www.yourdomain.com/。更多的内容请参阅no-www.org。无论你使不使用www,配置你的服务器地址,使其指向 http://www.yourdo main.com/, http://yourdomain.com/ 也是同样的道理。
怪不得老提示&后面的字符出错,原因是特殊字符(如:&)必须通过转义符(&转义符为&)来表示,如果不存在该转义符提示出错,比如我们要实现的地址中的其中一部分:&sid=1,很明显校验器把&sid当成转义符了,因此提示出错!