在php中我们可以利用apache来实现伪静态也可以利用php来操作,但是目前我只知道 apache的伪静态和php代码的伪静态。
Apache伪静态html(URL Rewrite)设置法
phpma一 打开 Apache 的配置文件 httpd.conf 。
phpma二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉
1、apache
现在我们可以实现伪静态页面了,写下一下的规则:
代码如下 |
复制代码 |
#liunx下需要写
rewriteengine on
rewriterule ([a-za-z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2
|
([a-za-z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个
然后重启动apache
2、.htaccess 在目录里新建个文件命名为 .htaccess
、.htaccess文件的书写
在网站根目录下建立一个文件,名称是.htaccess,书写方式:
代码如下 |
复制代码 |
RewriteEngine on #开启重写
RewriteRule ^/$ index.php #表示用“/”就可以访问index.php
RewriteRule ^about_(d*)/$ about/about.php?id=$1 #表示可以使用about_22/访问到about/about.php?id=22页面。注意$前面的“/”
RewriteRule ^about_(d*).html$ about/about.php?id=$1 #表示可以使用about_22.html访问到about/about.php?id=22页面RewriteRule ^news_(d*)_(d*).html$ news/news.php?id=$1&page=$2 #表示可以使用news_11_2.html访问到news/news.php?id=11&page=2页面。$1表示第一个参数,$2表示第二个参数
|
从上面可以看出,如果我们有下面的链接
关于我们
那么我们访问到的页面与使用下面访问的页面一样
关于我们
2.php代码
比如:http://www.xxxx.com/soft.php/1,100,8630.html
代码如下 |
复制代码 |
//利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分
if(@$path_info =$_SERVER["PATH_INFO"]){
//正则匹配一下参数
if(preg_match("//(d+),(d+),(d+).html/si",$path_info,$arr_path)){
$gid =intval($arr_path[1]); //取得值 1
$sid =intval($arr_path[2]); //取得值100
$softid =intval($arr_path[3]); //取得值8630
}else die("Path:Error!");
//相当于soft.php?gid=1&sid=100&softid=8630
}else die('Path:Nothing!');
//就是这么简单了。~)
?>
|
http://www.bkjia.com/PHPjc/629001.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629001.htmlTechArticle在php中我们可以利用apache来实现伪静态也可以利用php来操作,但是目前我只知道 apache的伪静态和php代码的伪静态。 Apache伪静态html(URL Rewri...
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn