Apache Rewrite url重定向功能的簡單配置
更新時間:2010年08月01日 20:21:32 作者:
Rewrite url重定向就是實現(xiàn)URL的跳轉(zhuǎn)和隱藏真實地址,基于Perl語言的正則表達式規(guī)范。平時幫助我們實現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
1.Apache Rewrite的主要功能
就是實現(xiàn)URL的跳轉(zhuǎn)和隱藏真實地址,基于Perl語言的正則表達式規(guī)范。平時幫助我們實現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
2.Apache Rewrite的配置
Apache下的Rewrite配置主要有兩種,一種是針對整個apache服務器的配置,此種配置的Rewrite規(guī)則是直接在httpd.conf下書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號;
(2)然后再在httpd.conf中書寫如下規(guī)則:
RewriteEngine on
#當訪問任何以t_開頭,以.html結尾的文件時,將$1用與(.*)匹配的字符替換后,訪問相應的test.php頁面
RewriteRule ^/t_(.*).html$ /test.php?id=$1
另一種是針對apache服務器下的某一目錄的配置,此種配置的Rewrite規(guī)則需在此目錄下建立一個.htaccess文件來書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號;
(2)修改httpd.conf文件中的"AllowOverride None"為"AllowOverride all",同時最好將Options也置為"all",否則可能會出問題。
(3)在目錄中建立.htaccess文件,并用記事本打開,書寫如下規(guī)則:
RewriteEngine on
RewriteRule ^/t_(.*).html$ /test.php?id=$1
3.Apache Rewrite規(guī)則的書寫
RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
RewriteEngine on
#當我們訪問的地址不是以www.163.com開頭的,那么執(zhí)行下一條規(guī)則
RewriteCond %{HTTP_HOST} !^www.163.com [NC]
RewriteRule ^/(.*) http://www.163.com/ [L]
4.Apache Rewrite規(guī)則修正符
1) R 強制外部重定向
2) F 禁用URL,返回403HTTP狀態(tài)碼。
3) G 強制URL為GONE,返回410HTTP狀態(tài)碼。
4) P 強制使用代理轉(zhuǎn)發(fā)。
5) L 表明當前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。
6) N 重新從第一條規(guī)則開始運行重寫過程。
7) C 與下一條規(guī)則關聯(lián)
如果規(guī)則匹配則正常處理,以下修正符無效
8) T=MIME-type(force MIME type) 強制MIME類型
9) NS 只用于不是內(nèi)部子請求
10) NC 不區(qū)分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符 \%3d$1 等價于 =$1
就是實現(xiàn)URL的跳轉(zhuǎn)和隱藏真實地址,基于Perl語言的正則表達式規(guī)范。平時幫助我們實現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
2.Apache Rewrite的配置
Apache下的Rewrite配置主要有兩種,一種是針對整個apache服務器的配置,此種配置的Rewrite規(guī)則是直接在httpd.conf下書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號;
(2)然后再在httpd.conf中書寫如下規(guī)則:
RewriteEngine on
#當訪問任何以t_開頭,以.html結尾的文件時,將$1用與(.*)匹配的字符替換后,訪問相應的test.php頁面
RewriteRule ^/t_(.*).html$ /test.php?id=$1
另一種是針對apache服務器下的某一目錄的配置,此種配置的Rewrite規(guī)則需在此目錄下建立一個.htaccess文件來書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號;
(2)修改httpd.conf文件中的"AllowOverride None"為"AllowOverride all",同時最好將Options也置為"all",否則可能會出問題。
(3)在目錄中建立.htaccess文件,并用記事本打開,書寫如下規(guī)則:
RewriteEngine on
RewriteRule ^/t_(.*).html$ /test.php?id=$1
3.Apache Rewrite規(guī)則的書寫
RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
RewriteEngine on
#當我們訪問的地址不是以www.163.com開頭的,那么執(zhí)行下一條規(guī)則
RewriteCond %{HTTP_HOST} !^www.163.com [NC]
RewriteRule ^/(.*) http://www.163.com/ [L]
4.Apache Rewrite規(guī)則修正符
1) R 強制外部重定向
2) F 禁用URL,返回403HTTP狀態(tài)碼。
3) G 強制URL為GONE,返回410HTTP狀態(tài)碼。
4) P 強制使用代理轉(zhuǎn)發(fā)。
5) L 表明當前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。
6) N 重新從第一條規(guī)則開始運行重寫過程。
7) C 與下一條規(guī)則關聯(lián)
如果規(guī)則匹配則正常處理,以下修正符無效
8) T=MIME-type(force MIME type) 強制MIME類型
9) NS 只用于不是內(nèi)部子請求
10) NC 不區(qū)分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符 \%3d$1 等價于 =$1
相關文章
Linux和window環(huán)境下開放防火墻端口的操作
開發(fā)時會遇到在服務器上部署mysql或者es數(shù)據(jù)庫的情況,此時如果訪問數(shù)據(jù)庫就需要開放防火墻端口,本文會講解windows和linux環(huán)境下端口的開放,文章通過圖文結合的方式講解的非常詳細,需要的朋友可以參考下2024-09-09
Ubuntu系統(tǒng)下用Crontab命令定時執(zhí)行PHP文件詳解
這篇文章主要給大家介紹了在Ubuntu系統(tǒng)下用Crontab命令定時執(zhí)行PHP文件的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-06-06
Linux下查看進程打開的文件句柄數(shù)和如何修改方法
下面小編就為大家?guī)硪黄狶inux下查看進程打開的文件句柄數(shù)和如何修改方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
linux下用tar命令將當前目錄下文件按子目錄壓縮歸檔的實現(xiàn)
下面小編就為大家?guī)硪黄猯inux下用tar命令將當前目錄下文件按子目錄壓縮歸檔的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
Ubuntu環(huán)境編譯安裝PHP和Nginx的方法
這篇文章主要介紹了Ubuntu環(huán)境編譯安裝PHP和Nginx的方法,較為詳細的分析了Ubuntu環(huán)境編譯安裝PHP和Nginx的具體步驟、相關命令與操作技巧,需要的朋友可以參考下2019-08-08

