亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Apache > 正文

Apache rewrite重寫規則的常見應用

2024-08-27 18:30:13
字體:
來源:轉載
供稿:網友
 
一、為什么需要用重寫規則 
---- 網站的生命在于不斷地進行更新和維護,根據業務發展的需求轉移服務器進行維護、重新組織目錄結構、變換URL甚至改變到新的域名等情況是經常發生的。為了讓客戶不會因此受到任何影響,最好的方法就是使用Apache Rewrite Rule(重寫規則)。 
二、重寫規則的作用范圍 
---- 1.使用在Apache主配置文件httpd.conf中。 
---- 2.使用在httpd.conf里定義的配置中。 
---- 3.使用在基本目錄的跨越配置文件.htaccess中。 
三、重寫規則的應用條件 
---- 當用戶的Web請求最終被導向到某臺Web服務器的Apache守護進程,Apache根據配置文件判斷該請求是主配置還是,再根據用戶在瀏覽器中請求的URL來匹配重寫規則,并且根據實際的請求路徑匹配.htaccess中的重寫規則,最后把請求的內容傳回給用戶。該響應可能有2種。 
---- 1.將請求內容外部重定向(Redirect)到另一個URL 
---- 讓瀏覽器再次以新的URL發出請求(R=301或者R=302,臨時的或是永久的重定向)。 
---- 例如,一個網站有正規的URL和別名URL,對別名URL進行重定向到正規URL,或者網站改換成了新的域名,則把舊的域名重定向到新的域名。 
---- 2.由Apache內部子請求代理產生新的內容送回給客戶[P,L] 
---- 這是Apache內部根據重寫后的URL,通過代理模塊請求內容并將最終內容送回給客戶,客戶端瀏覽器不必再次請求,瀏覽器中的URL不會被重寫,但實際內容由Apache根據重寫規則后的URL生成。 
---- 例如,在公司防火墻上運行的Apache啟動這種代理重寫規則,代理對內部網段上的Web服務器的請求。 
四、重寫規則怎樣工作 
---- 我們假定在編譯Apache時已經把mod_rewrite編譯成模塊,確信您的httpd.conf中有LoadModule rewrite_module libexec/mod_rewrite.so,并且在Addmodule中有Addmodule mod_rewrite.c,則可以使用重寫規則。 
---- 當外部請求到達Apache,Apache調用重寫規則中的定義來重寫由用戶瀏覽器指定請求的URL,最后被重寫的URL如果是重定向,則送交瀏覽器做再一次請求;如果是代理則把重寫后的URL交給代理模塊請求最終的內容(Content),最后把內容送回給瀏覽器。 
五、何時使用.htaccess中的重寫規則定義 
---- 假如您對網站內容所在的服務器沒有管理員權限,或者您的網站內容放在ISP的服務器上托管,無法改寫主配置文件,但是您對Web站點內容所在的目錄有寫權限,則可以設置自己的.htaccess文件達到同樣的目的。但您需要確定主配置文件中對您的網站所在的目錄定義了下面的內容,否則您的.htaccess不會工作。 
---- < Directory /usr/local/apache/htdocs/www.abc.com> options indexes followsymLinks 
---- allowoverride all 
---- < /Directory > 
六、應用舉例 
---- 假定Apache被編譯安裝在主機192.168.1.56的/usr/local/apache目錄下面,同時編譯了重寫和代理模塊。 
---- 1.隱藏Apache下的某個目錄,使得對該目錄的任何請求都重定向到另一個文件 
---- (1)httpd.conf的實現方法 
---- 我們將下面的部分放到/usr/local/apache/conf/httpd.conf中。 
---- < Directory "/usr/local/apache/htdocs/manual/"> options Indexes followsymlinks 
---- allowoverride all 
---- rewriteengine on 
---- rewritebase / 
---- rewriterule ^(.*)$ index.html.en [R=301] 
---- < /Directory > 
---- 注: “rewriteengine on”為重寫引擎開關,如果設為“off”,則任何重寫規則定義將不被應用,該開關的另一用處就是如果為了臨時去掉重寫規則,可以將引擎開關設為“off”再重新啟動Apache即可,不必將其中的各條重寫規則注釋掉。 
---- “rewritebase /”的作用是如果在下面的rewriterule定義中被重寫后的部分(此處為文件名index.html.en)前面沒有“/”,則表明是相對目錄,相對于這個rewritebase后面的定義也就是/usr/local/apache/htdocs/index.html.en,否則,如果此處沒有“rewritebase /”這一項,則被重寫成,顯然是不正確的。 
---- 我們也可以不用“rewritebase /”,而是將其改為如下部分。 
---- rewriteengine on 
---- rewriterule ^(.*)$ /index.html.en [R=301] 
---- 或者更改為: 
---- rewriteengine on 
---- rewriterule ^(.*)$ [R=301] 
---- (2).htaccess的實現方法 
---- 我們將下面的部分放到httpd.conf中。 
---- < Directory "/usr/local/apache/htdocs/manual/"> options Indexes followsymlinks 
---- allowoverride all 
---- < /Directory > 
---- 然后將下面的部分放到/usr/local/apache/htdocs/manual/.htaccess中。 
---- rewriteengine on 
---- rewritebase / 
---- rewriterule ^(.*)$ index.html.en [R=301] 
---- 注: 對文件.htaccess所做的任何改動不需要重啟動Apache。 
---- 您還可以利用.htaccess方案將這個manual目錄重定向到用戶jephe自己的主目錄。 
---- rewriteengine on 
---- rewritebase /~jephe/ 
---- rewriterule ^(.*)$ $1 [R=301] 
---- 這樣,對manual目錄下任何文件的請求被重定向到~jephe目錄下相同文件的請求。 
---- 2.將對于username的主頁請求轉換為對的請求 
---- 對于HTTP/1.1的請求包括一個Host: HTTP頭,我們能用下面的規則集重寫 .com/anypath到/home/username/anypath。 
---- rewriteengine on 
---- rewritecond %{HTTP_HOST} ^[^.]+.host.com$ 
---- rewriterule ^(.+) %{HTTP_HOST}$1 [C] 
---- rewriterule ^([^.]+).host.com(.*) /home/$1$2 
---- 注: “rewritecond”表明是條件重寫規則,當滿足后面定義的條件后才會應用下面的重寫規則,“rewritecond”有各種變量,請查閱相關文檔。 
---- 3.防火墻上的重寫規則代理內部網段上服務器的請求 
---- NameVirtualhost 1.2.3.4 
---- < Virtualhost 1.2.3.4:80 > servername 
---- rewriteengine on 
---- proxyrequest on 
---- rewriterule ^/(.*)$ [P,L] 
---- < /Virtualhost > 
---- 注: 當外部瀏覽器請求時,將被解析到IP地址1.2.3.4,Apache交由mod_rewrite處理,轉換成后再交由代理模塊mod_proxy,得到內容后傳送回用戶的瀏覽器。 
---- 4.基本預先設定的轉換Map表進行重寫rewritemap 
---- 轉換到Map表中規定的URL,前面是中的定義。 
---- rewritelog /usr/local/apache/logs/rewrite.log 
---- rewriteloglevel 9 
---- rewriteengine on 
---- proxyrequest on 
---- rewritemap sitemap txt:/usr/local/apache/conf/rewrite.map 
---- rewriterule ^/([^/]+)+/(.*)$ [C] 
---- rewriterule (.*)::([a-z]+)$ ${sitemap:$2|} [R=301,L] 
---- 文件/usr/local/apache/conf/rewrite.map的內容如下: 
---- sg 
---- sh 
---- 注: 當用戶請求時被重寫為。當需要調試時請用rewritelog和 rewriteloglevel 9聯合,9為最大,即得到最多的調試信息;最小為1,表示得到最少的調試信息;默認為0,表示沒有調試信息。 
---- sitemap的語法是${sitemap: LookupKey | Defaultvalue},有些書上把$寫成了%是錯誤的。 
(作者:吳阿亭)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91夜夜未满十八勿入爽爽影院| 黑人巨大精品欧美一区二区| 亚洲精品国产综合久久| 日韩欧美在线视频日韩欧美在线视频| 日韩在线视频免费观看| 久久久久久美女| 日韩av在线网站| 美女999久久久精品视频| 久久精品99国产精品酒店日本| 国产一区二区三区丝袜| 亚洲黄在线观看| 欧美国产日韩一区二区在线观看| 911国产网站尤物在线观看| 欧美壮男野外gaytube| 国产精品国模在线| 午夜精品美女自拍福到在线| 日韩美女视频免费在线观看| 91麻豆国产语对白在线观看| 亚洲激情成人网| 国产婷婷97碰碰久久人人蜜臀| 久久久久久这里只有精品| 亚洲成人在线网| 欧美网站在线观看| 欧美自拍视频在线观看| 国产精品人人做人人爽| 国产日产欧美a一级在线| 欧美日韩在线影院| 日韩精品有码在线观看| 国产在线a不卡| 久久99国产综合精品女同| 欧美激情2020午夜免费观看| 欧美怡春院一区二区三区| 久久久人成影片一区二区三区| 亚洲第一区第一页| 欧美日韩精品中文字幕| 日韩亚洲在线观看| 久久91亚洲人成电影网站| 亚洲国产精品免费| 久久久久久com| 欧美日韩免费在线观看| 亚洲v日韩v综合v精品v| 91亚洲精品久久久久久久久久久久| 亚洲色在线视频| 亚洲乱码一区av黑人高潮| 久久精品91久久久久久再现| 成人av在线网址| 国产有码在线一区二区视频| 欧美精品在线免费播放| 久久精品国产亚洲| 欧美成人免费全部观看天天性色| 久久久久久久网站| 国产午夜精品全部视频在线播放| 国产一区二区三区在线视频| 92看片淫黄大片欧美看国产片| 国产精品久久久久久久av电影| 亚洲欧美自拍一区| 国产成人啪精品视频免费网| 国产剧情久久久久久| 国产成人免费91av在线| 国产精品高清网站| 欧美黑人一级爽快片淫片高清| 韩剧1988免费观看全集| 日韩高清电影免费观看完整| 国产成人亚洲综合青青| 热久久免费视频精品| 青青精品视频播放| 在线观看亚洲视频| www国产精品视频| 国产精品www网站| 欧美伦理91i| 久久久久久91香蕉国产| 91精品国产综合久久男男| 97精品欧美一区二区三区| 欧美亚州一区二区三区| 日韩精品视频中文在线观看| 色偷偷噜噜噜亚洲男人的天堂| 北条麻妃在线一区二区| 色无极亚洲影院| 国产精品96久久久久久又黄又硬| 欧美综合国产精品久久丁香| 在线中文字幕日韩| 欧美性猛交xxxx黑人猛交| 91视频免费在线| 亚州av一区二区| 国产精品视频网| 在线播放国产一区二区三区| 国产成人啪精品视频免费网| 欧美极品第一页| 国产国语刺激对白av不卡| 久久视频在线播放| 91免费在线视频网站| 欧美日韩在线观看视频小说| 8x拔播拔播x8国产精品| 性色av一区二区三区| 97精品国产97久久久久久免费| 亚洲激情在线观看| 日韩中文字幕视频在线观看| 久久久久久久久久久亚洲| 一本大道亚洲视频| 久久99国产综合精品女同| 最近2019中文字幕大全第二页| 992tv成人免费视频| 深夜福利91大全| 欧美第一淫aaasss性| 国产成人精品久久亚洲高清不卡| 亚洲女人天堂成人av在线| 久久69精品久久久久久国产越南| 91精品久久久久久久久青青| 日韩成人在线视频| 国产一区二区丝袜高跟鞋图片| yw.139尤物在线精品视频| 色悠久久久久综合先锋影音下载| 欧美日本在线视频中文字字幕| 国产精品中文字幕久久久| 亚洲第一色中文字幕| 在线电影欧美日韩一区二区私密| 欧美成人四级hd版| 欧美日韩裸体免费视频| 日韩在线视频中文字幕| 日韩中文字幕第一页| 国产精品极品美女在线观看免费| 欧美激情一级精品国产| 欧美精品在线网站| 国产精品亚洲第一区| 国产三级精品网站| 欧美激情国内偷拍| 国产一区二区香蕉| 孩xxxx性bbbb欧美| 欧美精品手机在线| 中文字幕日韩精品有码视频| 亚洲欧美中文日韩在线v日本| 久久欧美在线电影| 成人福利网站在线观看| 国产日韩在线亚洲字幕中文| 欧美孕妇毛茸茸xxxx| 国产精品爽爽爽| 亚洲国产成人久久综合一区| 亚洲性无码av在线| 欧美电影免费观看大全| 最近2019免费中文字幕视频三| 在线日韩精品视频| 综合国产在线观看| 色综合天天狠天天透天天伊人| 欧美成人午夜视频| 日韩中文有码在线视频| 日韩免费av在线| 中文字幕精品在线视频| 亚洲国产精彩中文乱码av在线播放| 中文字幕av一区二区| 欧美专区第一页| 亚洲人a成www在线影院| 久久久精品在线观看| 国内精品久久久久久中文字幕| 国产在线播放不卡| 亚洲国产天堂久久综合网| 粉嫩av一区二区三区免费野| 狠狠综合久久av一区二区小说| 亚洲国产欧美一区| 国产精品免费视频xxxx| 欧美日本中文字幕| 国产一区二区三区四区福利| 欧美一级视频在线观看| 69久久夜色精品国产69| 亚洲精品视频免费在线观看|