天天看點

nginx域名跳轉

1. 編輯虛拟主機配置檔案/usr/local/nginx/conf/vhosts/huangzhenping.conf

    說明:nginx新增域名直接在server_name行添加(而apache用alias);$host表示域名标量;$1表示域名後面的内容;permanent表示永久重定向

<code>server</code>

<code>{</code>

<code>    </code><code>listen 80;</code>

<code>    </code><code>server_name www.huangzhenping.cn www.huanglearn.cn;</code>

<code>    </code><code>if</code> <code>($host != </code><code>'www.huangzhengping.cn'</code><code>)</code>

<code>    </code><code>{</code>

<code>      </code><code>rewrite ^/(.*)$ http:</code><code>//www</code><code>.huangzhenping.cn/$1 permanent;</code>

<code>    </code><code>}</code>

<code>    </code><code>index index.html index.htm index.php;</code>

<code>    </code><code>root </code><code>/data/www</code><code>;</code>

flag标記:

last:相當于apache的[L]标記,表示完成rewrite;之後搜尋相應的url或者location

break:表示終止比對

redirect:傳回302臨時重定向

permanent:傳回301永久重定向

if正則:

~            區分大小寫比對

~*          不區分大小寫比對

!~ 和!~* 分别為區分大小寫不比對及不區分大小寫不比對

-f 和!-f   用來判斷是否存在檔案

-d和!-d  用來判斷是否存在目錄

-e和!-e   用來判斷是否存在檔案或目錄

-x和!-x   用來判斷檔案是否可執行

全局變量:

$args   請求中的參數

$body_bytes_sent       已發送的消息體位元組數

$content_length        HTTP請求資訊裡的"Content-Length"

$content_type       請求資訊裡的"Content-Type"

$document_root          針對目前請求的根路徑設定值

$document_uri           與$uri相同; 比如 /test1/test2/test.php

$host       請求資訊中的"Host",如果請求中沒有Host行,則等于設定的伺服器名; 

$http_cookie         cookie 資訊

$http_referer         引用位址

$http_user_agent          用戶端代理資訊

$http_x_forwarded_for            

$remote_addr        用戶端位址

$remote_port          用戶端端口号

$remote_user         用戶端使用者名,認證用

$request          使用者請求

$request_body_file       發往後端的本地檔案名稱  

$request_filename        目前請求的檔案路徑名,比如$request_filename:D:\nginx/html/test1/test2/test.php

$request_method        請求的方法,比如"GET"、"POST"等

$request_uri      請求的URI,帶參數; 比如http://localhost:88/test1/test2/test.php

$scheme            所用的協定,比如http或者是https,比rewrite^(.+)$$scheme://example.com$1redirect; $server_addr          

$server_addr      伺服器位址,如果沒有用listen指明伺服器位址,使用這個變量将發起一次系統調用以取得位址(造成資源浪費)

$server_name     請求到達的伺服器名

$server_port       請求到達的伺服器端口号

$server_protocol   請求的協定版本,"HTTP/1.0"或"HTTP/1.1"

$uri     請求的URI,可能和最初的值有不同,比如經過重定向之類的

   /usr/local/nginx/sbin/nginx -t

   /usr/local/nginx/sbin/nginx -s reload

2. 使用curl驗證,成功跳轉

    說明:www.huanglearn.cn網站跳轉到www.huangzhenping.cn

本文轉自 huangzp168 51CTO部落格,原文連結:http://blog.51cto.com/huangzp/1900635,如需轉載請自行聯系原作者

繼續閱讀