本文章來告訴你如何把php文件利用apache的 rewrite_module功能實現文件 偽靜態的配置方法,有需要參考的同學可以看看本文章。
一 打開 Apache 的配置文件 httpd.conf 。
二 將#LoadModule rewrite_module modules/mod_rewrite前面的#去掉
三 在 httpd.conf中添加:
- <IfModule mod_rewrite.c>
- RewriteEngine On
- #RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
- RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html$ $1.php?__is_apache_rewrite=1&__rewrite_arg=$2
- </IfModule>
- RewriteMap tolowercase int:tolower
- RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC]
- RewriteRule ^(.*(?:index|dispbbs)).asp$ $1.php?${tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1
六、mod_rewrite 簡介
Rewirte主要的功能就是實現URL的跳轉和隱藏真實地址,基于Perl語言的正則表達式規范。平時幫助我們實現偽靜態,擬目錄,域名跳轉,防止盜鏈等等
七、mod_rewrite 規則的使用
- RewriteEngine on
- RewriteCond %{HTTP_HOST} !^www.companysz.com [NC]
- RewriteRule ^/(.*) http://www.companysz.com/ [L]
- --------
- RewriteEngine on
- RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
- RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
1) R 強制外部重定向
2) F 禁用URL,返回403HTTP狀態碼。
3) G 強制URL為GONE,返回410HTTP狀態碼。
4) P 強制使用代理轉發。
5) L 表明當前規則是最后一條規則,停止分析以后規則的重寫。
6) N 重新從第一條規則開始運行重寫過程。
7) C 與下一條規則關聯
8) T=MIME-type(force MIME type) 強制MIME類型
9) NS 只用于不是內部子請求
10) NC 不區分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉義特殊字符 %3d$1 等價于 =$1
新聞熱點
疑難解答