Apache Rewrite url重定向功能的簡單配置
更新時間:2010年08月01日 20:21:32 作者:
Rewrite url重定向就是實(shí)現(xiàn)URL的跳轉(zhuǎn)和隱藏真實(shí)地址,基于Perl語言的正則表達(dá)式規(guī)范。平時幫助我們實(shí)現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
1.Apache Rewrite的主要功能
就是實(shí)現(xiàn)URL的跳轉(zhuǎn)和隱藏真實(shí)地址,基于Perl語言的正則表達(dá)式規(guī)范。平時幫助我們實(shí)現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
2.Apache Rewrite的配置
Apache下的Rewrite配置主要有兩種,一種是針對整個apache服務(wù)器的配置,此種配置的Rewrite規(guī)則是直接在httpd.conf下書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號;
(2)然后再在httpd.conf中書寫如下規(guī)則:
RewriteEngine on
#當(dāng)訪問任何以t_開頭,以.html結(jié)尾的文件時,將$1用與(.*)匹配的字符替換后,訪問相應(yīng)的test.php頁面
RewriteRule ^/t_(.*).html$ /test.php?id=$1
另一種是針對apache服務(wù)器下的某一目錄的配置,此種配置的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
#當(dāng)我們訪問的地址不是以www.163.com開頭的,那么執(zhí)行下一條規(guī)則
RewriteCond %{HTTP_HOST} !^www.163.com [NC]
RewriteRule ^/(.*) http://www.163.com/ [L]
4.Apache Rewrite規(guī)則修正符
1) R 強(qiáng)制外部重定向
2) F 禁用URL,返回403HTTP狀態(tài)碼。
3) G 強(qiáng)制URL為GONE,返回410HTTP狀態(tài)碼。
4) P 強(qiáng)制使用代理轉(zhuǎn)發(fā)。
5) L 表明當(dāng)前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。
6) N 重新從第一條規(guī)則開始運(yùn)行重寫過程。
7) C 與下一條規(guī)則關(guān)聯(lián)
如果規(guī)則匹配則正常處理,以下修正符無效
8) T=MIME-type(force MIME type) 強(qiáng)制MIME類型
9) NS 只用于不是內(nèi)部子請求
10) NC 不區(qū)分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符 \%3d$1 等價于 =$1
就是實(shí)現(xiàn)URL的跳轉(zhuǎn)和隱藏真實(shí)地址,基于Perl語言的正則表達(dá)式規(guī)范。平時幫助我們實(shí)現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
2.Apache Rewrite的配置
Apache下的Rewrite配置主要有兩種,一種是針對整個apache服務(wù)器的配置,此種配置的Rewrite規(guī)則是直接在httpd.conf下書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號;
(2)然后再在httpd.conf中書寫如下規(guī)則:
RewriteEngine on
#當(dāng)訪問任何以t_開頭,以.html結(jié)尾的文件時,將$1用與(.*)匹配的字符替換后,訪問相應(yīng)的test.php頁面
RewriteRule ^/t_(.*).html$ /test.php?id=$1
另一種是針對apache服務(wù)器下的某一目錄的配置,此種配置的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
#當(dāng)我們訪問的地址不是以www.163.com開頭的,那么執(zhí)行下一條規(guī)則
RewriteCond %{HTTP_HOST} !^www.163.com [NC]
RewriteRule ^/(.*) http://www.163.com/ [L]
4.Apache Rewrite規(guī)則修正符
1) R 強(qiáng)制外部重定向
2) F 禁用URL,返回403HTTP狀態(tài)碼。
3) G 強(qiáng)制URL為GONE,返回410HTTP狀態(tài)碼。
4) P 強(qiáng)制使用代理轉(zhuǎn)發(fā)。
5) L 表明當(dāng)前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。
6) N 重新從第一條規(guī)則開始運(yùn)行重寫過程。
7) C 與下一條規(guī)則關(guān)聯(lián)
如果規(guī)則匹配則正常處理,以下修正符無效
8) T=MIME-type(force MIME type) 強(qiáng)制MIME類型
9) NS 只用于不是內(nèi)部子請求
10) NC 不區(qū)分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符 \%3d$1 等價于 =$1
相關(guān)文章
linux下通過Squid反向代理搭建CDN緩存服務(wù)器的配置方法
在移動機(jī)房放置一臺CDN代理服務(wù)器,通過智能DNS解析,讓電信用戶直接訪問Web服務(wù)器、讓移動用戶訪問CDN代理服務(wù)器,解決移動用戶訪問Web服務(wù)器慢的問題2013-06-06windows下安裝PEAR php5.3.1下解決出錯的方法
在配置好了Apache2.2.14和PHP5.3.1后,最近想安裝PEAR(PHP Extension and Application Repository),但是在執(zhí)行批處理文件go-pear.bat的時候出現(xiàn)了錯誤2010-02-02centos中NAT模式下靜態(tài)IP連接外網(wǎng)
這篇文章主要介紹了centos中NAT模式下靜態(tài)IP連接外網(wǎng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06linux查看系統(tǒng)編碼和修改系統(tǒng)編碼的方法
本文為大家介紹了linux查看系統(tǒng)編碼和修改系統(tǒng)編碼的方法,這里使用的是redhat系統(tǒng),大家參考使用吧2014-01-01Linux系統(tǒng)中 /etc/fstab 文件的深入解讀
這篇文章主要給大家介紹了Linux系統(tǒng)中 /etc/fstab 文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01