久久久久精品国产,丰满少妇粗大猛烈进高清播放,久久久97,在线18禁

<wbr id="x3zex"><nav id="x3zex"><em id="x3zex"></em></nav></wbr>

        <s id="x3zex"></s>
        1. <ruby id="x3zex"><nav id="x3zex"><acronym id="x3zex"></acronym></nav></ruby>
          <font id="x3zex"><noscript id="x3zex"></noscript></font>
          0712-2888027 189-8648-0214
          微信公眾號

          孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號

          當(dāng)前位置:主頁 > 技術(shù)支持 > Linux > Nginx中基于User-Agent的Rewrite實(shí)例

          Nginx中基于User-Agent的Rewrite實(shí)例

          時(shí)間:2016-05-18來源:風(fēng)信官網(wǎng) 點(diǎn)擊: 1166次

          一般通過User-Agent來判斷,從網(wǎng)上抄一抄,那些列出的都不錯(cuò),我的配置里加上了java、curl和Wget,方便調(diào)試和其它內(nèi)部項(xiàng)目的 抓取。因?yàn)楝F(xiàn)在很多手機(jī)網(wǎng)關(guān)沒有發(fā)送User-Agent,所以大部分手機(jī)發(fā)送的User-Agent到了網(wǎng)關(guān)就被過濾掉了,相當(dāng)于是空值。經(jīng)過抽樣調(diào) 查,User-Agent為空且為手機(jī)用戶比例比較大。有部分User-Agent為空的是一些蜘蛛或垃圾程序的造訪,這些垃圾流量并不那么重要。希望手 機(jī)網(wǎng)關(guān)將來有相應(yīng)的標(biāo)準(zhǔn),不要發(fā)送空的User-Agent,就是發(fā)送一個(gè)字母也好啊。如果應(yīng)用有一個(gè)獨(dú)立域名,也未必要做手機(jī)判斷。譬如新浪有獨(dú)立域名 且深入人心,那它做不做跳轉(zhuǎn)無關(guān)緊要。nginx配置用窮舉方式羅列各類手機(jī)User-Agent并把空User-Agent也轉(zhuǎn)到手機(jī)應(yīng)用里,非這些情 況,則跳到幫助頁面。

          set $ismob 0;
          if ( $http_user_agent ~ "^((.*MIDP.*)|(.*WAP.*)|(.*UP.Browser.*)|(.*Smartphone.*)|(.*Obigo.*)|(.*Mobile.*)|(.*AU.Browser.*)|(.*wxd.Mms.*)|(.*WxdB.Browser.*)|(.*CLDC.*)|(.*UP.Link.*)|(.*KM.Browser.*)|(.*UCWEB.*)|(.*SEMC-Browser.*)|(.*Mini.*)|(.*Symbian.*)|(.*Palm.*)|(.*Nokia.*)|(.*Panasonic.*)|(.*MOT-.*)|(.*SonyEricsson.*)|(.*NEC-.*)|(.*Alcatel.*)|(.*Ericsson.*)|(.*BENQ.*)|(.*BenQ.*)|(.*Amoisonic.*)|(.*Amoi-.*)|(.*Capitel.*)|(.*PHILIPS.*)|(.*SAMSUNG.*)|(.*Lenovo.*)|(.*Mitsu.*)|(.*Motorola.*)|(.*SHARP.*)|(.*WAPPER.*)|(.*LG-.*)|(.*LG/.*)|(.*EG900.*)|(.*CECT.*)|(.*Compal.*)|(.*kejian.*)|(.*Bird.*)|(.*BIRD.*)|(.*G900/V1.0.*)|(.*Arima.*)|(.*CTL.*)|(.*TDG.*)|(.*Daxian.*)|(.*DAXIAN.*)|(.*DBTEL.*)|(.*Eastcom.*)|(.*EASTCOM.*)|(.*PANTECH.*)|(.*Dopod.*)|(.*Haier.*)|(.*HAIER.*)|(.*KONKA.*)|(.*KEJIAN.*)|(.*LENOVO.*)|(.*Soutec.*)|(.*SOUTEC.*)|(.*SAGEM.*)|(.*SEC-.*)|(.*SED-.*)|(.*EMOL-.*)|(.*INNO55.*)|(.*ZTE.*)|(.*iPhone.*)|(.*Android.*)|(.*Windows CE.*)|(Wget.*)|(java.*)|(curl.*)|(Opera.*))$" )
          {
          set $ismob 1;
          proxy_pass http://blog.slogra.com;
          }
          if ( $http_user_agent ~ ^$ )
          {
          set $ismob 1;
          proxy_pass http://blog.slogra.com;
          }
          if ( $ismob = 0 )
          {
          rewrite "^.*$" http://help.slogra.com/ permanent;
          }

          2、Content-Type

          手機(jī)瀏覽器和普通電腦訪問頁面有所不同,絕大多數(shù)手機(jī)不支持text/html這種Content-Type格式。在web服務(wù)方面,除了要做出合 適手機(jī)瀏覽的頁面,另外一個(gè)重要的事情就是要把Content-Type弄對了。一般手機(jī)使用的是text/vnd.wap.wml和 application/xhtml+xml,聽說text/vnd.wap.wml是老式手機(jī)專用,application/xhtml+xml是3g 標(biāo)準(zhǔn)指定的Content-Type,另外charset需要指明為UTF-8。

          所以Content-Type就應(yīng)像如下:

          Content-Type: application/xhtml+xml; charset=UTF-8
          

          這樣就對了。

          對于動態(tài)頁面,Content-Type可以在程序里設(shè)定。

          譬如php

          header("Content-Type: application/xhtml+xml; charset=UTF-8")

          jsp的話,把頂頭的page改了就好

          動態(tài)程序里的設(shè)定,到了nginx上默認(rèn)會繼承,所以不用太多考慮。nginx要做的一個(gè)是靜態(tài)頁面,另一個(gè)是302跳轉(zhuǎn)。

          靜態(tài)頁面的Content-Type改起來不麻煩,修改mime.types:

          application/xhtml+xml                 html htm shtml;
          application/xhtml+xml                 xml;
          

          把需要的擴(kuò)展名對應(yīng)的類型改一改就好了。然后在nginx.conf里指定charset UTF-8。

          麻煩的是301和302跳轉(zhuǎn),nginx中使用rewrite的redirect和permanent跳轉(zhuǎn)的時(shí)候,Content-Type怎么改 都會是text/html,使用add_header,Content-Type變成了兩行,沒能達(dá)成目的。用代理到動態(tài)程序固然行,但性能和穩(wěn)定性又成 了問題。最后查閱了nginx源碼,發(fā)現(xiàn)這個(gè)text/html是寫死的……

          唉,第一次修改c代碼:

          我調(diào)試的這個(gè)nginx是0.7.30版的,文件:

          vi ./src/http/ngx_http_special_response.c
          
          568 //r->headers_out.content_type_len = sizeof("text/html") - 1;
          569 //r->headers_out.content_type.len = sizeof("text/html") - 1;
          570 //r->headers_out.content_type.data = (u_char *) "text/html";
          

          把568 569 570這三行代碼注釋掉,就可以讓nginx跳轉(zhuǎn)時(shí)不發(fā)送Content-Type,我發(fā)現(xiàn)在電腦的IE/FF瀏覽器上沒有Content-Type也能正常跳轉(zhuǎn)。

          當(dāng)然,為了嚴(yán)謹(jǐn)一些,寫上Content-Type吧,現(xiàn)在可以用add_header定義:

          add_header Content-Type "text/html";
          

          手機(jī)的就是:

          add_header Content-Type "application/xhtml+xml";
          
          熱門關(guān)鍵詞: Nginx User-Agent Rewrite實(shí)例
          欄目列表
          推薦內(nèi)容
          熱點(diǎn)內(nèi)容
          展開