呵呵,要实现伪静态必须开启Apache的重写模块,首先要修改http.conf文件,将
#LoadModule rewrite_module modules/mod_rewrite
前面的#去掉就可以了。
然后是针对网站做重写规则,不过这里有两种方法,我来给大家介绍一下^_^ (别丢砖啊!)
- 直接修改虚拟主机的配置,比如 PHP代码
- <VirtualHost 221.130.187.81:80>
- **********
- DocumentRoot /var/www/html/
- ServerName tinico.cn
- ServerAlias www.tinico.cn
- **********
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteRule ^(.*)/(search|reg|login|index|links)\.html$ $1/index.php?action=$2
- RewriteRule ^(.*)/(index)-([0-9]+)\.html$ $1/index.php?action=$2&page=$3
- </IfModule>
- </VirtualHost>
- 第二种方法就是写.htaccess文件了,主要是一些朋友没有服务器的管理权限,比如使用虚拟主机的朋友们。但是前提是必须服务器要支持读取.htaccess文件。要让服务器支持的话必须修改http.conf文件,如下 PHP代码
- <Directory "/var/www/html/">
- Options -Indexes FollowSymLinks
- AllowOverride all
- </Directory>
- <VirtualHost *.*.*.*>
- *******
- DocumentRoot /var/www/html/
- ServerName tinico.cn
- ServerAlias www.tinico.cn
- *******
- </VirtualHost>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^show-([0-9]+)-([0-9]+)\.html$ index.php?action=show&id=$1&page=$2
- ******
好了,配置完了以后别忘记重起一下apache让配置生效!
像这样配置完了以后你不必再考虑如何生成静态页面了,或者不必每次更新文章之后都要考虑是不是全部页面都重新生成了啊,这对于中小型网站特别实用,当然,大型网站还是想想办法全部生成静态吧,毕竟伪静态要消耗那么一点点服务器的资源,呵呵。