Apache配置URL重定向
Url重定向機(jī)制簡(jiǎn)述
Rewrite url重定向就是實(shí)現(xiàn)URL的跳轉(zhuǎn)和隱藏真實(shí)地址,基于Perl語(yǔ)言的正則表達(dá)式規(guī)范。平時(shí)幫助我們實(shí)現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等。
1.Apache Rewrite的主要功能
就是實(shí)現(xiàn)URL的跳轉(zhuǎn)和隱藏真實(shí)地址,基于Perl語(yǔ)言的正則表達(dá)式規(guī)范。平時(shí)幫助我們實(shí)現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
2.Apache Rewrite的配置
Apache下的Rewrite配置主要有兩種,一種是針對(duì)整個(gè)apache服務(wù)器的配置,此種配置的Rewrite規(guī)則是直接在httpd.conf下書寫。
針對(duì)整個(gè)apache服務(wù)器的重定向配置
配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號(hào),以加載重定向功能模塊;
(2)然后再在httpd.conf中書寫如下規(guī)則:
#開啟重定向功能
RewriteEngine on
#當(dāng)訪問(wèn)任何以t_開頭,以.html結(jié)尾的文件時(shí),將$1用與(.*)匹配的字符替換后,訪問(wèn)相應(yīng)的test.php頁(yè)面
RewriteRule ^/t_(.*).html$ /test.php?id=$1
針對(duì)apache服務(wù)器下的某一指定目錄的重定向配置
另一種是針對(duì)apache服務(wù)器下的某一目錄的配置,此種配置的Rewrite規(guī)則需在此目錄下建立一個(gè).htaccess文件來(lái)書寫。配置步驟如下:
(1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"號(hào);
(2)修改httpd.conf文件中的"AllowOverride None"為"AllowOverride all",同時(shí)最好將Options也置為"all",否則可能會(huì)出問(wèn)題。
(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)我們?cè)L問(wèn)的地址不是以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)行重寫過(guò)程。
7) C 與下一條規(guī)則關(guān)聯(lián),如果規(guī)則匹配則正常處理,以下修正符無(wú)效
8) T=MIME-type(force MIME type) 強(qiáng)制MIME類型
9) NS 只用于不是內(nèi)部子請(qǐng)求
10) NC 不區(qū)分大小寫
11) QSA 追加請(qǐng)求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符 \%3d$1 等價(jià)于 =$1
總結(jié)
以上是生活随笔為你收集整理的Apache配置URL重定向的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 力天使高达七把手枪装哪里
- 下一篇: javascript工厂函数(facto