学过php的朋友,你会发现最简单最方便的的一种方法是使用服务器的URL重写模块,在LAMP(Linux+Apache+MySQL+PHP)服务器上一般使用mod_rewrite模块,Windows服务器也有功能相似的ISAPI Rewrite等模块。以LAMP服务器为例,要想把URL:
http://www./show.php?id=123 静态化为: http://www./show/123 需要启用服务器mod_rewrite模块,然后在.htaccess文件中写入如下代码: RewriteRule/products([0-9]+)/show.php?id=$1 URL重写代码基于正则表达式,每个网站的动态URL结构不同,服务器设置也可能不同,代码也就不同。正则表达式的写法比较复杂,千变万化,通常需要程序员编写。在写URL静态化代码时必须非常小心,错了一个字符,多了一个斜杠等微小的不同,都可能造成灾难性的后果。我本人就遇到过这样的案例。 严格来说,这里所说的URL静态化应该称为“伪静态化”,也就是说服务器上还是不存在相应的HTML文件,用户访问时还是动态生成页面,只不过通过URL重写技术使网址看起来像是静态的。也有的CMS系统可以实现真正静态化,站长增添产品或文章后,系统会自动生成真实存在的静态的HTML文件。对搜索引擎来说,真正的静态与伪静态没有区别。 在这里有些朋友又问了,那静态化和伪静态有什么优点和缺点?其实每一种好的方案,都不可能是完美的,比如静态化生成html文件,如果很多文章,那么就生成很多html文件了,但是优势就是不需要查询数据库,加快了访问速度,伪静态就是使用方便,新手学习一下就可以上手了,但是相对前者而言,需要查询数据库,稍微慢一点咯! 在这里笔者随便提醒大家,实现页面链接静态化,对搜索引擎还是比较有优势的,防止重复收录,收录更为方便! |
|
来自: Alkaid2015 > 《74.PHP》