伪静态的目的是将PHP动态页面转变成html后缀的静态页面,事实上在服务器资源加载过程中,仍然是动态页面,只是为了让页面更加友好。具体伪静态的意义,大家可以再百度百科中查找,这里就不多赘述。百度百科地址直达:http://baike.baidu.com/link?url=hURboqMI6_sccF9mR-CcL1StE1bUt_ZSlzG_OdnUhEh7e35yVRjCusdEQm9u59TXz7Y5kzi-Q41GShHYjrXW7_
下面我们直讲述在Apache下的PHP伪静态配置方法:
1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。
2.建立.htaccess 文件
a.方法一:最好使用vim来建立这个文件,应为这个文件是没有文件名的,操作起来不太方便。
b.方法二:新建 htaccess.txt
用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,然后点击保存。此文件得保存在网站的根目录
3.让apache服务器支持.htaccess
修改httpd.conf文件
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
4.填写网站伪静态规则 (需要 了解 正则表达式)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule index.html$ index.php
RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1//规则这边之间的空格不能漏写,不要写错,不然活报Internal Server Error错误。
</IfModule>
在写伪静态规则时,应保留有价值的参数,不要将有价值的参数全部精简掉。前面例子中的 index.php?p=$1 重写为 index-p.html,(p代表传进去的数值)
5.输入格式的样子如下:
当我们输入html的形式时,出现的和输入正常php文件形式一样的页面
仅供大家参考,转载请注明出处。