伪静态就是将动态网页生成静态文件,从而能减轻服务器压力,提高访问速度和搜索引擎收录。下面我们看一下Apache是如何实现伪静态的.Apache伪静态主要是靠mod_rewrite.so模块来完成的。如果你的Apache还没有安装,那么在安装配置Apache时加上–enable-rewrite选项就行了,这样在你的Apache安装目录modules文件夹下就会生成mod_rewrite.so模块。倘若你已经安装完了Apache也没关系,我们可以利用Apache安装程序生成一个mod_rewrite.so模块。
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.让apache服务器支持.htaccess
修改httpd.conf文件 Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All
注意:除了要设置上面的地方以后,还得设置一下下面这个(网上很多资料都没有讲到这一块),否则你将会配制失败, 把 DocumentRoot 后面的参数改为你本地网站的目录 例如你网站的根目录为 D:/web/ 则得设置为 DocumentRoot “D:/web/” 也就是修改当前目录。此步骤设置好后也得重启apache服务器才能生效。
3.建立.htaccess 文件
建立.htaccess文件的3种方法:1)打开记事本,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个红色部分,也就是包含英文引号,然后点击保存就行了。2)在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。如果这都嫌麻烦,那有更简单的,3)直接下载我为您准备的.htaccess文件,然后用记事本打开修改即可。
| htaccess文件 |
4.填写网站伪静态规则(需要了解正则表达式)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule index.html$ index.php
RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1
</IfModule>
转自:http://www.okajax.com/a/201106/apache_rewrite.html