标签:
page=1&&tid=1234
非常可能是全然一样的内容。url中參数顺序不同就是不同的网址,但调用參数一样,因此页面内容是一样的。假设CMS系统设计不周全,这些url都可能出如今站点上。
更麻烦的是,有时某些參数能够是随意值,server都能正常返回页面,尽管内容全是一样或非常相似的。
比如,上面中的參数1234改为5678或其它什么数字。server非常可能也返回200状态码。
所以曾经的搜索引擎对动态url敬而远之,要想站点页面被充分收录。站长须要把动态url转化为静态。
如何静态化
最常见的方法是使用server的url重写模块,在AMPserver上一般使用mod_rewrite模块,Windowsserver也有功能相似的ISAPI等模块。
以LAMPserver为例。要想把url:
3w点website点com/product.php?id=123
静态化为:
3w点website点com/product/=123
须要启用servermod_rewrite模块,然后在上.hatccess文件里写入例如以下代码:
RewriteRule/product/([0-9]+)/product.php?id=$1
url重写代码基于正則表達式。每一个站点的动态url结构不同,server设置也可能不同,代码也就不同。正則表達式的写法比較复杂。千变万化,通常须要程序猿编写。
在写url静态化代码时必须很小心,错了一个字符。多了一个斜杠等微小的不同,都可能造成灾难性的后果。
严格来说。这里所说的url静态化应该称为“伪静态化”,也就是说server还是不存在对应的文件,用户訪问时还是动态生成页面,仅仅只是通过url重写技术使网址看起来像是静态的。也有的CMS系统能够实现真正静态化,站长增添产品或文章后,系统会自己主动生成真实存在的静态的html文件。可是对搜索引擎来说,真正的静态与伪静态没有差别。
url不须要静态化吗
近两三年搜索引擎对动态url的抓取有了非常大进步。一般来说url中有两三个參数,对收录不会造成多大影响。权重高的域名,再多几个问号也不是问题。只是一般来说还是建议将静态化,既能提高用户体验,又能减少收录难度。
标签:
原文地址:http://www.cnblogs.com/yxwkf/p/5303052.html