2010年(4)
分类: LINUX
2010-09-15 23:08:39
笔者最近搭建了一个博客.本博客web环境为LAMP,为了提高博客性能与质量笔者对博客做了伪静态,下面把一些经验和大家分享一下
首先我们要知道什么是伪静态,伪静态能给我们带来什么。伪静态就是将动态网页生成静态文件,从而能减轻服务器压力,提高访问速度和搜索引擎收录。下面我们看一下Apache是如何实现伪静态的
Apache伪静态主要是靠mod_rewrite.so模块来完成的。如果你的Apache还没有安装,那么在安装配置Apache时加上--enable-rewrite选项就行了,这样在你的Apache安装目录modules文件夹下就会生成mod_rewrite.so模块。倘若你已经安装完了Apache也没关系,我们可以利用Apache安装程序生成一个mod_rewrite.so模块
如下图,笔者在安装时没有开启伪静态,所以安装目录下没有mod_rewrite.so文件
一、生成伪静态模块
首先下载Apache安装程序,解压后进入该目录
#cd /tmp/httpd-2.2.15/modules/mappers
#/usr/local/apache/bin/apxs -c
mod_rewrite.c
#/usr/local/apache/bin/apxs -i -a -n
mod_rewrite mod_rewrite.la
#ls /usr/local/apache/modules
下图是我们执行完上述命令后生成到Apache安装目录的伪静态模块
二、让Apache支持伪静态
光生成模块还不够,还要在Apache中指定为静态文件
#vi /usr/local/apache/conf/httpd.conf //加入如下内容,让Apache支持伪静态
LoadModule rewrite_module
modules/mod_rewrite.so
然后将Apache配置文件httpd.conf所有AllowOverride None 改为AllowOverride All
创建.htaccess文件(用于针对目录改变配置)
[root@Nginx mappers]# cd
/usr/local/apache/htdocs/
[root@Nginx htdocs]# vi .htaccess 然后加入如下内容
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule
^(post|record|sort|author|page)-([0-9]+)\.html$ index.php?$1=$2
RewriteRule ^tag-(.+)\.html$
index.php?tag=$1
RewriteRule ^t/page-([0-9]+)\.html$
t/index.php?page=$1
#chmod 777 .htaccess //给.htaccess文件加入权限
然后重新启动Apache,这时候你的网站就已经支持伪静态了