nginx rewrite舉例詳解

1.標(biāo)志位,放在每一條規(guī)則的最后面

    last : 相當(dāng)于Apache的[L]標(biāo)記,表示完成rewrite
    break : 停止執(zhí)行當(dāng)前虛擬主機(jī)的后續(xù)rewrite指令集履羞,一旦匹配不再往后匹配
    redirect : 返回302臨時(shí)重定向莺琳,地址欄會(huì)顯示跳轉(zhuǎn)后的地址
    permanent : 返回301永久重定向,地址欄會(huì)顯示跳轉(zhuǎn)后的地址

2.全局變量

全局變量,可以直接在定義的規(guī)則中使用撤摸,不知道可以查
下面是可以用作if判斷的全局變量

    $args : #這個(gè)變量等于請(qǐng)求行中的參數(shù),同$query_string
    $content_length : 請(qǐng)求頭中的Content-length字段。
    $content_type : 請(qǐng)求頭中的Content-Type字段准夷。
    $document_root : 當(dāng)前請(qǐng)求在root指令中指定的值钥飞。
    $host : 請(qǐng)求主機(jī)頭字段,否則為服務(wù)器名稱冕象。
    $http_user_agent : 客戶端agent信息
    $http_cookie : 客戶端cookie信息
    $limit_rate : 這個(gè)變量可以限制連接速率代承。
    $request_method : 客戶端請(qǐng)求的動(dòng)作,通常為GET或POST渐扮。
    $remote_addr : 客戶端的IP地址论悴。
    $remote_port : 客戶端的端口。
    $remote_user : 已經(jīng)經(jīng)過Auth Basic Module驗(yàn)證的用戶名墓律。
    $request_filename : 當(dāng)前請(qǐng)求的文件路徑膀估,由root或alias指令與URI請(qǐng)求生成。
    $scheme : HTTP方法(如http耻讽,https)察纯。
    $server_protocol : 請(qǐng)求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1针肥。
    $server_addr : 服務(wù)器地址饼记,在完成一次系統(tǒng)調(diào)用后可以確定這個(gè)值。
    $server_name : 服務(wù)器名稱慰枕。
    $server_port : 請(qǐng)求到達(dá)服務(wù)器的端口號(hào)具则。
    $request_uri : 包含請(qǐng)求參數(shù)的原始URI,不包含主機(jī)名具帮,如:”/foo/bar.php?arg=baz”博肋。
    $uri : 不帶請(qǐng)求參數(shù)的當(dāng)前URI,$uri不包含主機(jī)名蜂厅,如”/foo/bar.html”匪凡。
    $document_uri : 與$uri相同。

3.可能會(huì)用的幾個(gè)if判斷

if判斷指令
語法為if(condition){...}掘猿,對(duì)給定的條件condition進(jìn)行判斷病游。如果為真,大括號(hào)內(nèi)的rewrite指令將被執(zhí)行.
當(dāng)表達(dá)式只是一個(gè)變量時(shí)稠通,如果值為空或任何以0開頭的字符串都會(huì)當(dāng)做false
直接比較變量和內(nèi)容時(shí)礁遵,使用=或!=
~正則表達(dá)式匹配,~*不區(qū)分大小寫的匹配采记,!~區(qū)分大小寫的不匹配
-f和!-f用來判斷是否存在文件
-d和!-d用來判斷是否存在目錄
-e和!-e用來判斷是否存在文件或目錄
-x和!-x用來判斷文件是否可執(zhí)行

4.案例,前面看不懂沒事政勃,對(duì)著例子看唧龄,更容易懂

    server {
        listen       80;
        server_name  www.jd.com;
        access_log  logs/jd.access.log  main;
        if ($host = 'jd.com')
        {
            #將jd.com的所有請(qǐng)求全部轉(zhuǎn)到www.baidu.com,(.*)任意字符串,后面$1對(duì)其進(jìn)行引用奸远,而且使用的是301永久重定向既棺,url顯示跳轉(zhuǎn)后的地址 
           rewrite ^/(.*)$ http://www.baidu.com/$1 permanent;
        }
        location / {
            root   html/jd.com;
            index  index.html index.htm;
        }
    }

再來一個(gè)

    server {
        listen       80;
        server_name  www.jd.com;
        access_log  logs/jd.access.log  main;
        #301永久重定向  訪問本域名將重定向到tao.bao,與上一個(gè)的區(qū)別是不再引用請(qǐng)求字符串讽挟,不管你是請(qǐng)求的什么,都直接跳到taobao下的index.html頁面
        rewrite ^/(.*)$ http://www.taobao.com/index.html permanent;  

        location / {
            root   html/jd.com;
            index  index.html index.htm;
        }
    }     

再來一個(gè)

    server {
        listen       80;
        server_name  www.jd.com;
        access_log  logs/jd.access.log  main;
       #訪問 /test/ 將會(huì)被重定向到 /index.html ,且瀏覽器地址不變
        rewrite ^/test/$ /index.html last;   
        location / {
            root   html/jd.com;
            index  index.html index.htm;
        }
    }        
      

最后一個(gè):文件禁止訪問

    server {
        listen       80;
        server_name  www.jd.com;
        access_log  logs/jd.access.log  main;
        location ~ .*\.(txt|db)$   #對(duì).txt丸冕,.db結(jié)尾的文件不允許訪問
        {
            return 403;
        }       
        location / {
            root   html/jd.com;
            index  index.html index.htm;
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耽梅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胖烛,更是在濱河造成了極大的恐慌眼姐,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佩番,死亡現(xiàn)場(chǎng)離奇詭異众旗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)趟畏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門贡歧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赋秀,你說我怎么就攤上這事利朵。” “怎么了猎莲?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵绍弟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我益眉,道長(zhǎng)晌柬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任郭脂,我火速辦了婚禮年碘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘展鸡。我一直安慰自己屿衅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布莹弊。 她就那樣靜靜地躺著涤久,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忍弛。 梳的紋絲不亂的頭發(fā)上响迂,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音细疚,去河邊找鬼蔗彤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的然遏。 我是一名探鬼主播贫途,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼待侵!你這毒婦竟也來了丢早?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤秧倾,失蹤者是張志新(化名)和其女友劉穎怨酝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體中狂,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凫碌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胃榕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盛险。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖勋又,靈堂內(nèi)的尸體忽然破棺而出苦掘,到底是詐尸還是另有隱情,我是刑警寧澤楔壤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布鹤啡,位于F島的核電站,受9級(jí)特大地震影響蹲嚣,放射性物質(zhì)發(fā)生泄漏递瑰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一隙畜、第九天 我趴在偏房一處隱蔽的房頂上張望抖部。 院中可真熱鬧,春花似錦议惰、人聲如沸慎颗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽俯萎。三九已至,卻和暖如春运杭,著一層夾襖步出監(jiān)牢的瞬間夫啊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工辆憔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涮母,地道東北人谆趾。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像叛本,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子彤钟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5来候? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,474評(píng)論 1 45
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,788評(píng)論 0 38
  • 多線程逸雹、特別是NSOperation 和 GCD 的內(nèi)部原理营搅。運(yùn)行時(shí)機(jī)制的原理和運(yùn)用場(chǎng)景。SDWebImage的原...
    LZM輪回閱讀 2,007評(píng)論 0 12
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,380評(píng)論 0 5
  • 周一下午結(jié)束一天的工作后,拿出一整塊的時(shí)間把讀完了吳軍的《態(tài)度》一書帖世,本書副標(biāo)題:吳軍家書休蟹,是吳軍給正在上大學(xué)...
    禾苗青青閱讀 1,501評(píng)論 1 6