网站分为动态网站和静态网站,我们罕见的以html末端的平常都是静态页面,以.php.asp末端的页面平常是动态网站,动态网站是有和数据库举行交互才被称为动态网站,动态网站因为不容易被搜索引擎搜录所以才有了伪静态这么一说。(引荐进修:PHP编程从入门到通晓)
伪静态望文生义就是假的静态网站,也就是说动态网站为了轻易被搜索引擎收录,应用服务器的rewirte完成的假静态的历程。
那PHP完成伪静态有若干种方法了?
1、运用apache的URL重写划定规矩,这个人人都懂,在apache内里设置, 这里同学们都造,只枚举一段简朴的设置
RewriteEngine On RewriteRule ^/test.html index.php?controller=index&action=test [L]
2、运用PHP的pathinfo , 你是否是有看到有的网站如许玩'www.xxx.com/index.php/c/index/a/test/id/100' , 固然要支撑这类你需要把'php.ini' 中的参数
'cgi.fix_pathinfo' 设置为1。拿'www.xxx.com/index.php/c/index/a/test/id/100'来举例
echo $_SERVER['PATH_INFO']; //输出'/c/index/a/test/id/100'
到这,应当邃晓了吧,你再对这段举行剖析,分派现实地点
3、运用404机制,平常情况下伪静态都是现实不存在的页面,因而能够运用apache 404设置,然则有些题目,就是'post'范例的要求会被扬弃,致使你没法猎取'$_POST',
然则'$_GET'依然能够猎取, 假定此处404页面为'404page.php', apache 设置以下:
ErrorDocument 404 /404page.php
然后在 '404page.php'中嵌入以下代码
header("HTTP/1.1 200 OK"); //这里肯定要有,不然状况就是404 $reqUrl = $_SERVER['REQUEST_URI']; // 要求地点 /** * 从URL中剖析参数 */ function parseUrlParams($queryUrl) { $arr = explode('?', $queryUrl); parse_str($arr[1], $param); if($param) { foreach($param as $key => $value) { $_GET[$key] = $value; } } } parseUrlParams($reqUrl); // url剖析参数 //然后你就能够运用 $reqUrl 依据本身的划定规矩婚配差别的现实要求地点 if(preg_match('#^/test.html#is', $reqUrl, $matches)) { include('index.php'); die(); }
以上就是php如何做伪静态处置惩罚的细致内容,更多请关注ki4网别的相干文章!