php 中的伪静态

来源:互联网 发布:家庭收支知多少教案 编辑:程序博客网 时间:2024/06/05 16:07

什么是伪静态?为什么要用它?

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。

这里提供了两种伪静态的实现方法:

一、修改apache服务器主配置文件,httpd.conf文件中的配置

首先,打开主配置文件,寻找vhosts,将

<pre name="code" class="html">Include conf/vhosts.conf


修改为:

#Include conf/vhosts.conf


关闭虚拟域名扩展

然后,重写规则实现,配置的Rewrite规则直接在httpd.conf下书写。

配置步骤如下:

(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号;

(2)然后再在httpd.conf中书写如下规则:

RewriteEngine on //当访问任何以t_开头,以.html结尾的文件时,将$1用于(.*)匹配的字符替换后,访问相应的test.php页面RewriteRule ^/test_(.*).html$ /test.php?id=$1

然后,当访问任何以test_开头,以.html结尾的文件时,将$1用与(.*)匹配的字符替换后(传参),就访问相应的test.php页面


二、CI中的伪静态

1、打开主配置文件,寻找vhosts,将

Include conf/vhosts.conf

修改为:
#Include conf/vhosts.conf


关闭虚拟域名扩展然后,重写规则实现,此种配置的Rewrite规则需在此目录下建立一个.htaccess文件来书写。配置步骤如下:

与CI入口文件index.php同级,创建.htaccess文件,在文件中书协规则

2、移除URL中的index.php,代码如下:

RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L]

3、添加URL后缀

在你的 config/config.php 文件中你可以指定一个后缀,

即如下,添加.html后缀:

$config['url_suffix'] = '.html';

4、设置你的路由规则

路由规则定义在 application/config/routes.php 文件中,在这个文件中你会发现一个名为$route 的数组,利用它你可以设置你自己的路由规则。在路由规则中你可以使用通配符或正则表达式。

$route['index_(:num)'] = 'Welcome/index/$1';

注:(:num) 匹配只含有数字的一段。(:any) 匹配含有任意字符的一段。


这样就实现了,在访问的的时候,可直接用index_1.html匹配,控制器Welcome,方法index,并且传递了一个页码$1的参数

1 0
原创粉丝点击