呵呵,要實現偽靜態必須開啟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讓配置生效!
像這樣配置完了以后你不必再考慮如何生成靜態頁面了,或者不必每次更新文章之后都要考慮是不是全部頁面都重新生成了啊,這對於中小型網站特別實用,當然,大型網站還是想想辦法全部生成靜態吧,畢竟偽靜態要消耗那么一點點服務器的資源,呵呵。
