關於PHP偽靜態Rewrite設置


Rewirte主要的功能就是實現 URL的跳轉和隱藏真實地址,基於Perl語言的正則
表達式規范。平時幫助我們實現擬靜態,擬目錄,域名跳轉,防止盜鏈等
 
一、Apache 配置:
 
1、支持httpd.conf 配置
2、支持目錄 .htaccess配置(一種"分布式配置"文件針對虛擬空間,空間商不讓修改Apache配置文件)
 
啟用Rewrite(httpd.conf)
(有時候Options Indexes FollowSymLinks會出問題,只需要配置Options all即可)
LoadModule rewrite_module modules/mod_rewrite.so
 
啟用.htaccess
AllowOverride None    修改為:AllowOverride All
 
二、mod_rewrite 規則:
例如:
RewriteEngine on                           -> 啟動 rewrite 引擎
 
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1     ->指訪問test加任意字段.html都能跳轉到test.php       正則匹配的字段存放在虛擬內存匹配$1
 
 
三、mod_rewrite 規則 修正符
 
 
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
 
 
例如:
RewriteRule ^/ new ([0-9]*)/ $ / new .php?id=$1 [R]
 
 
簡單小范例:
RewriteEngine on
RewriteRule ^/in(.*).html$ /index.php

輕松實現~

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM