php实现伪静态以及定义原理
伪静态是什么:网站分为动态网站和静态网站,我们常见的以html结尾的一般都是静态页面,以.php.asp结尾的页面一般是动态网站,动态网站是有和数据库进行交互才被称为动态网站,动态网站由于不容易被搜索引擎搜录所以才有了伪静态这么一说,伪静态顾名思义就是假的静态网站,也就是说动态网站为了方便被搜索引擎收录,利用服务器的rewirte实现的假静态的过程。
首先说明一下伪静态的好处好不足之处,
好处:
1.方便搜索引擎搜索,方便seo,方便爬虫爬取,简化url,美化url
2.考虑网站所用的程序语言不易被发现,经过重写伪静态来将动态网页的程序后缀变为html的静态页面格式。
弊病:
1.如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态 的时候同时在线超500人都不挂,我的ISS数是1000"确实是这样的,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指 定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病.
怎么用php实现伪静态:
1.首先,打印你的phpinfo();查看Loaded Modules 有没有mod_rewrite,如果有,那就可以开始下一步,如果没有那就打开你的apache的的安装目录"/apache/conf/"下的httpd.conf文件,查找"LoadModele rewrite_module",将前面的"#"号删除即可,没找到的话就自己加一行"LoadModule rewrite_module ,modules/mod_rewrite.so" ,然后重启apache服务器即可。
2.让apache服务器支持.htaccess
打开httpd.conf,然后搜索AllowOverride None,然后将AllowOverride None改成AllowOverride All就可以了。
3.建立.htaccess文件,在网站的根目录建立记事本,右键另存为.htaccess,编码utf-8。
4.rewrite规则
第一句RewriteEngine on //重写引擎的开关,on开启,off关闭
第二句RewriteRule //重写规则,这里我无法做过多的解释,其实我也不会写,反正我用的tp3.2,这是tp的重写规则
http://document.thinkphp.cn/manual_3_2.html#url_rewrite