URL Rewrite技术。该技术的核心方程是在服务器端,主要通过服务器的重写技术,一种基于正则表达式的重定向技术。
原理如:index.php?id=124这个地址,服务器事先定义,/可以替换,重写为?id=则,这个地址就变成index.php/124。这个定义的意思是说,当服务器www.twomaxinter.com接受到一个http请求,请求访问其上的index.php/124这个文件时,先通过Rewrite对该地址进行重写,然后载入重写后的地址,进行解析。这样当你访问http://www.twomaxinter.com/index.php/124时,并没有直接到达这个文件,而是这个地址,在服务器那里被换掉了,而这个换掉的过程,对客户端而言是隐蔽的,不可知的。
这里说的,只是原理,简单的替换,事实上,URL Rewrite还可以做许多更复杂的代换。如喜悦国际村的,由showthreads.php?postid=12345转换为12345.html。具体可以参照apache手册中的说明。
为什么要应用URL Rewrite技术
从原理上可知,这种技术并不能实际提高访问速度,减少负载,与生成静态页面有着本质上的区别,但为什么有那么多网站热衷于此呢?说到这里,我们不得 不提到搜索引擎。搜索引擎后台的蜘蛛引擎可以动态抓取互联网上的页面,经分析后存入数据库。但动态页面,一般却是不被蜘蛛引擎考虑的,只有很少部分,可能 会被自动收录进去。而蜘蛛引擎识别静态页面和动态页面是从一点基本点着手,即静态页面一般不包含参数。即?id=...&post=..之类的。 而动态页面多有这个东西。所以蜘蛛引擎在收录过程中,?后的部分基本是不考虑的。这样造成的结果就是showthreads.php?id=123456 由于?后部分被忽略,就变成了showthreads.php。当然这个页面并不具备任何实际内容的。即,URL Rewrite技术多为搜索引擎而来。
具体的URL Rewrite方法,参数,可参阅apache手册中URL Rewrite部分。