<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## mod_alias模塊 這個模塊即可以完成別名定義,也可以處理URL請求。 ### 別名定義 * Alias 將URL映射到定義的目錄或文件上 * AliasMatch 使用正則表達式定義 * ScriptAlias 定義一個目錄為CGI容器 * ScriptAliasMatch 使用正則表達式定義 ### 重定向定義 Redirect permanent /download http://www.abc.com/download * pernanent 狀態碼301 表示永久移動 * temp 狀態碼302 表示找到資源,默認 * seeother 狀態代碼303 資源位置被替換 * gone 狀態代碼410 表示資源已經不存在 * RedirectPermanent 表示 Redirect permanent * RedirectTemp 表示 Redirect temp ## mod_rewrite模塊 ### 工作流程 ![](http://om4h63cja.bkt.clouddn.com/17-6-7/46192127.jpg) ### 重寫指令 * RewriteEngine指令 參數為on或者off,設置是否啟用或者禁止模塊 * RewriteRule指令 語法格式 ~~~ RewriteRule Pattern Substitution [flags] ~~~ #### Pattern 為當前請求的URL正則表達式,這個URL可能被RewriteRule規則或者alias指令修改過。使用“!”求反操作,不能使用匹配模式中的分組通配。 #### Substitution 參數是當原始URL與Pattern匹配時,用來替換的字符串。 * 對Pattern中的分組可以使用$N進行反向引用。 * 對RewriteCond中的分組可以使用%N進行反向引用。 * 規則條件測試字符串%{VARNAME}中的服務器變量 * 映射函數調用${mapname:key|default},用戶可以通過${mapname:key|default}的形式來調用RewriteMap定義的映射。 * “-”作用是不做任何處理 1 重寫到文件系統的路徑 ~~~ RewriteRule "^/games" "/usr/local/games/web" ~~~ 2 重寫到DocumentRoot目錄下的路徑 ~~~ RewriteRule "^/foo$" "/bar" ~~~ 3 重寫到完整的URL ~~~ RewriteRule "^/product/view$" "http://site2.example.com/seeproduct.html" [R] ~~~ #### flags * last|L 結尾規則 這個標記用于阻止當前已被重寫的URL被后繼規則再次重寫 * proxy|P 強制為代理 此標記使替換成分被內部地強制作為代理請求發送,并立即中斷重寫處理,然后把處理移交給mod_proxy模塊。替換串是一個能夠被mod_proxy處理的有效URI(比如以http://hostname開頭)。可以把某些遠程成分映射到本地服務器域名空間,從而增強了ProxyPass指令的功能。注意:要使用這個功能,必須已經啟用了mod_proxy模塊。 * redirect|R[=code] 強制外部重定向 * forbidden|F 強制禁止當前URL響應,并像客戶端發送一個403httpd響應代碼 * gone|G 強制廢棄當前URL,并像客戶端發送一個410 httpd響應代碼 * nocase|NC 忽略pattern中的大小寫 * redirect|R [code] 將重寫的URL作為重定向處理,默認是302 * next|N 從頭再來 重新執行重寫操作(從第一個規則重新開始)。此時再次進行處理的URL已經不是原始的URL了,而是經最后一個重寫規則處理過的URL。它對應于Perl中的next命令或C語言中的continue命令。此標記可以重新開始重寫操作(立即回到循環的開頭)。但是要小心,不要制造死循環! * noescape|NE 在輸出中不對URI進行轉義 此標記阻止mod_rewrite對重寫結果應用常規的URI轉義規則。一般情況下,特殊字符('%', '$', ';'等)會被轉義為等值的十六進制編碼('%25', '%24', '%3B'等)。 * chain|C 鏈接下一規則 此標記使當前規則與下一個規則相鏈接。它產生這樣的效果:如果一個規則被匹配,則繼續處理其后繼規則,也就是這個標記不起作用;如果該規則不被匹配,則其后繼規則將被跳過。比如,在一個目錄級規則中執行一個外部重定向時,你可能需要刪除".www"(此處不應該出現".www")。 * passthrough|PT 移交給下一個處理器 此標記強制重寫引擎將內部request_rec結構中的uri字段設置為filename字段的值,使得RewriteRule指令的輸出能夠被(從URI轉換到文件名的)Alias, ScriptAlias, Redirect等指令進行后續處理。 舉一個能說明其含義的例子:如果要將/abc重寫為/def,然后再使用mod_alias將/def轉換為/ghi,可以這樣: ``` RewriteRule ^/abc(.*) /def$1 [PT] Alias /def /ghi ``` 如果省略了PT標記,雖然將uri=/abc/...重寫為filename=/def/...的部分運作正常,但是后續的mod_alias在試圖將URI轉換到文件名時會遭遇失效。 注意:如果需要混合使用多個將URI轉換到文件名的模塊時,就必須使用這個標記。。此處混合使用mod_alias和mod_rewrite就是個典型的例子。 ~~~ Alias /icons /usr/local/apache/icons RewriteRule /pics/(.+).jpg /icons/$1.gif [PT] ~~~ 當請求/pics/下的圖片文件時, 實際是返回的是 /icons/目錄下的同名文件. 需要注意的是一定要設置 [PT] 標志. 否則Alias設置無效. ### RewriteCond RewriteCond用來定義重寫條件 ~~~ RewriteCond TestString CondPattern ~~~ * 對RewriteRule中的分組可以使用$N進行反向引用。 * 對RewriteCond中的分組可以使用%N進行反向引用。 * 服務器變量 ![](http://om4h63cja.bkt.clouddn.com/17-6-7/84803184.jpg) #### CondPattern * < CondPattern 將CondPattern視為純字符串,與teststring按字典順序進行比較,teststring小于CondPattern為真 * \> CondPattern 將CondPattern視為純字符串,與teststring按字典順序進行比較,teststring大于CondPattern為真 * = CondPattern 將CondPattern視為純字符串,與teststring按字典順序進行比較,teststring等于CondPattern為真 * -d 將teststring視為路徑名并測試是否為一個存在的目錄 * -f 將teststring視為路徑名并測試是否為一個存在的常規文件 * -s 將teststring視為路徑名并測試是否為一個存在的切大于0的常規文件 * -l 將teststring視為路徑名并測試是否為一個存在的常規文件 * -f 將teststring視為路徑名并測試是否為一個存在的符號鏈接 * -x 將teststring視為路徑名并測試是否為一個存在的可執行文件 * -F 檢查teststring是否為有效的文件 * -U檢查tesstring是否為有效的URL nocase|NC 忽略大小寫 ornext|OR 多個條件或者關系 ### RewriteBase 在目錄重寫中,只要請求的URL不能與本地的文件系統匹配時,就需要每個目錄設置一個重寫的基準URL,
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看