乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Apache Rewrite知識匯總貼

       lenvol 2011-05-04

      一、apache rewrite 服務(wù)器變量
      引用方法:%{ NAME_OF_VARIABLE }


      HTTP headers 部分:
      HTTP_USER_AGENT
      HTTP_REFERER
      HTTP_COOKIE
      HTTP_FORWARDED
      HTTP_HOST
      HTTP_PROXY_CONNECTION
      HTTP_ACCEPT
      connection & request 部分:
      REMOTE_ADDR
      REMOTE_HOST
      REMOTE_USER
      REMOTE_IDENT
      REQUEST_METHOD
      SCRIPT_FILENAME
      PATH_INFO
      QUERY_STRING
      AUTH_TYPE
      server internals部分:
      DOCUMENT_ROOT
      SERVER_ADMIN
      SERVER_NAME
      SERVER_ADDR
      SERVER_PORT
      SERVER_PROTOCOL
      SERVER_SOFTWARE
      system stuff 部分:
      TIME_YEAR
      TIME_MON
      TIME_DAY
      TIME_HOUR
      TIME_MIN
      TIME_SEC
      TIME_WDAY
      TIME
      specials部分:
      API_VERSION
      THE_REQUEST
      REQUEST_URI
      REQUEST_FILENAME
      IS_SUBREQ
      特別注意事項:
      1:SCRIPT_FILENAME和REQUEST_FILENAME包含的值是相同的,即,Apache服務(wù)器的內(nèi)部request_rec結(jié)構(gòu)中的 filename字段。 第一個其實就是大家都知道的CGI變量名,而第二個則是(包含了request_rec結(jié)構(gòu)中的uri字段的)REQUEST_URI的一個副本,
      2:特殊形式: %{ENV:variable} 其中的variable可以是任何環(huán)境變量。 它是通過查找Apache內(nèi)部結(jié)構(gòu)得到的, 或者(如果沒找到的話)是由Apache服務(wù)器進程通過getenv()得到的。
      3:特殊形式: %{HTTP:header} 其中的header可以是任何HTTP MIME頭的名稱。 它是通過查找HTTP請求得到的。比如: %{HTTP:Proxy-Connection}就是HTTP頭 “Proxy-Connection:”的值.
      4:特殊形式 %{LA-U:variable} 它是一個預(yù)設(shè)的值, variable的最終值在執(zhí)行一個內(nèi)部的(基于URL的)子請求后決定。在重寫需要使用一個尚未有效的但是會在之后的API程序段中設(shè)置的變量的時候,就會使用這個方法。比如,需要在服務(wù)器級配置(httpd.conf文件)中重寫REMOTE_USER變量,則,必須使用%{LA- U:REMOTE_USER},因為此變量是由認(rèn)證程序段設(shè)置的,而這個程序段是在mod_rewrite所在的URL轉(zhuǎn)譯程序段之后才執(zhí)行的。但是,因為mod_rewrite是通過API修正程序段來實現(xiàn)目錄級(.htaccess file)配置的,而這個程序段在認(rèn)證程序段之前就執(zhí)行了,所以用%{REMOTE_USER}就可以了。
      5:特殊形式: %{LA-F:variable} 它是一個預(yù)設(shè)的值, variable的最終值在執(zhí)行一個內(nèi)部的(基于文件名的)子請求后決定。 大多數(shù)情況下和上述的LA-U是相同的.

      二、apache rewrite 正則表達(dá)式的說明
      . 匹配任何單字符
      [chars] 匹配字符串:chars
      [^chars] 不匹配字符串:chars
      text1|text2 可選擇的字符串:text1或text2
      匹配0到1個字符
      * 匹配0到多個字符
      + 匹配1到多個字符
      ^ 字符串開始標(biāo)志
      $ 字符串結(jié)束標(biāo)志
      \n 轉(zhuǎn)義符標(biāo)志
      反向引用 $N 用于 RewriteRule 中匹配的變量調(diào)用(0 <= N <= 9)
      反向引用 %N 用于 RewriteCond 中最后一個匹配的變量調(diào)用(1 <= N <= 9)

      三、apache rewrite 規(guī)則后面的標(biāo)志符說明
      1:RewriteCond標(biāo)志符
         nocase|NC (no case)忽略大小
         ornext|OR  (or next condition)邏輯或,可以同時匹配多個RewriteCond條件
      2:RewriteRule適用的標(biāo)志符
         redirect|R [=code]  (force redirect)強迫重寫為基于http開頭的外部轉(zhuǎn)向(注意URL的變化) 如:[R=301,L]
         forbidden|F  (force URL to be forbidden)重寫為禁止訪問
         proxy|P  (force proxy)重寫為通過代理訪問的http路徑
         last|L  (last rule)最后的重寫規(guī)則標(biāo)志,如果匹配,不再執(zhí)行以后的規(guī)則
         next|N  (next round)循環(huán)同一個規(guī)則,直到不能滿足匹配
         chain|C  (chained with next rule)如果匹配該規(guī)則,則繼續(xù)下面的有Chain標(biāo)志的規(guī)則。
         type|T=MIME-type  (force MIME type)指定MIME類型
         nosubreq|NS  (used only if no internal sub-request)如果是內(nèi)部子請求則跳過
         nocase|NC  (no case)忽略大小
         qsappend|QSA  (query string append)附加查詢字符串
         noescape|NE  (no URI escaping of output)禁止URL中的字符自動轉(zhuǎn)義成%[0-9]+的形式。
         passthrough|PT  (pass through to next handler)將重寫結(jié)果運用于mod_alias
         skip|S=num  (skip next rule(s))跳過下面幾個規(guī)則
         env|E=VAR:VAL  (set environment variable)添加環(huán)境變


      四,Apache Rewrite 一些實例
      打開apache rewrite 包括兩種情況
      1:在httpd.conf全局中打開 RewriteEngine on
      2: 局部里利用RewriteEngine on來打開rewrite功能
      3: 基于目錄級的(.htaccess),要注意一點那就是必須打開此目錄的FollowSymLinks屬性且在.htaccess里要聲明RewriteEngine on。

      1:以下是實例說明:,115.47.151.223 為前綴的跳轉(zhuǎn)到 www.
      RewriteEngine on #打開rewirte功能
      RewriteCond %{HTTP_HOST} !^ [NC] #聲明Client請求的主機中前綴不是,[NC]的意思是忽略大小寫
      RewriteCond %{HTTP_HOST} !^115.47.151.223 [NC] #聲明Client請求的主機中前綴不是115.47.151.223,[NC]的意思是忽略大小寫
      RewriteCond %{HTTP_HOST} !^$ #聲明Client請求的主機中前綴不為空,[NC]的意思是忽略大小寫
      RewriteRule ^/(.*) http://www./ [L]
      #含義是如果Client請求的主機中的前綴符合上述條件,則直接進行跳轉(zhuǎn)到http://www./,
      [L]意味著立即停止重寫操作,并不再應(yīng)用其他重寫規(guī)則。這里的.*是指匹配所有URL中不包含換行字符,()括號的功能是把所有的字符做一個標(biāo)記,以便
      于后面的應(yīng)用.就是引用前面里的(.*)字符。
      2: http://www./forums/-f60.html => http://bbs./-f60.html
      RewriteEngine On
      # Redirect /forums to bbs.
      RewriteCond %{REQUEST_URI} ^/forums/
      RewriteRule /forums/(.*) http://bbs./$1 [R=permanent,L]
      # Redirect to
      RewriteCond %{REQUEST_URI} !^/forums/
      RewriteRule /(.*) http://www./$1 [R=permanent,L]
      3:http://www./xxx.php->; http://www./xxx/http://yyy.->http://www./user.php?username=yyy
      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^www.
      RewriteCond %{REQUEST_URI} !^user\.php$
      RewriteCond %{REQUEST_URI} \.php$
      RewriteRule (.*)\.php$ http://www./$1/ [R]
      RewriteCond %{HTTP_HOST} !^www.
      RewriteRule ^(.+) %{HTTP_HOST} [C]
      RewriteRule ^([^\.]+)\.zzz\.com http://www./user.php?username=$1
      4:/type.php?typeid=* ?> /type*.html 和 /type.php?typeid=*&page=* ?> /type*page*.html
      RewriteEngine On
      RewriteRule ^/type([0-9]+).html$ /type.php?typeid=$1 [PT]
      RewriteRule ^/type([0-9]+)page([0-9]+).html$ /type.php?typeid=$1&page=$2 [PT]
      5:泛域名,二級域名虛擬服務(wù)器
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^[^.]+\.osall\.(com|net)$
      #匹配條件,如果用戶輸入的URL中主機名是類似 xxxx.semcase.com 或者 xxxx.semcase.cn 就執(zhí)行下面一句
      RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
      #把用戶輸入完整的地址(GET方式的參數(shù)除外)作為參數(shù)傳給下一個規(guī)則,[C]是Chain串聯(lián)下一個規(guī)則的意思
      RewriteRule ^([^.]+)\.osall\.(com|net)(.*)$
      /home/www/www.semcase.com/sylvan$3?un=$1&%{QUERY_STRING} [L]
      # 最關(guān)鍵的是這一句,使用證則表達(dá)式解析用戶輸入的URL地址,把主機名中的用戶名信息作為名為un的參數(shù)傳給
      /home/www/dev.semcase.com目錄下的腳本,并在后面跟上用戶輸入的GET方式的傳入?yún)?shù)。并指明這是最后一條規(guī)則([L]規(guī)則)
      6:瀏覽器為IE和Opera的訪客將被禁止訪問
      ewriteEngine on!?S5IG LOj
      RewriteCond %{HTTP_USER_AGENT} ^MSIE [NC,OR]_R N/7\
      RewriteCond %{HTTP_USER_AGENT} ^Opera [NC]!&’ # a
      RewriteRule ^.* - [F,L] 這里”-”表示沒有替換。
      7:限制目錄只能顯示圖片
      RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} !^.*\.(gif|jpg|jpeg|png|swf)$
      RewriteRule .*$ - [F,L]

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多