程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Nginx操作命令收集

Nginx操作命令收集

編輯:PHP綜合

一、linux中nginx 301重定向跳轉方法總結

1、訪問a站定向到b站

server {

server_name www.a.com ;

rewrite ^(.*) http://www.b.com$1 permanent;

}

2、不是訪問a站的全部重定向到指定頁面

server {

server_name www.a.com;

if ($host != 'a.com' )

{ rewrite ^/(.*)$ http://www.b.com/$1 permanent; }

}

如果寫在第一個server段 使用IP訪問時也將被重定向

3、帶www或者不帶www之間的跳轉

server

{

server_name c.net

rewrite ^/(.*)$ http://www.c.net/$1 permanent;

}

或者

server

{

listen 80;

server_name www.c.com c.com;

if ($host != 'www.c.com' ) {

rewrite ^/(.*)$ http://www.c.com/$1 permanent;

}

為何要使用301重定向

在 網站建設中需要網頁重定向的情況很多:如網頁目錄結構變動,網頁重命名、網頁的擴展名改變、網站域名改變等。如果不做重定向,用戶的收藏和搜索引擎數據庫 中的舊地址只能讓訪客得到一個404錯誤信息頁面,訪問流量白白喪失。不僅如此,之前該頁面的一切積累(比如PR值)就都白費了。

301重定向不僅能使頁面實現自動跳轉,對於搜索引擎來說,也可能可以傳遞PR值。

二、nginx規則詳細介紹

rewrite命令

nginx的rewrite相當於apache的rewriterule(大多數情況下可以把原有apache的rewrite規則加上引號就可以直接使用),它可以用在server,location 和IF條件判斷塊中,命令格式如下:

rewrite 正則表達式 替換目標 flag標記

flag標記可以用以下幾種格式:

last – 基本上都用這個Flag。

break – 中止Rewirte,不在繼續匹配

redirect – 返回臨時重定向的HTTP狀態302

permanent – 返回永久重定向的HTTP狀態301

一些可用的全局變量有,可以用做條件判斷(待補全)

$args

$content_length

$content_type

$document_root

$document_uri

$host

$http_user_agent

$http_cookie

$limit_rate

$request_body_file

$request_method

$remote_addr

$remote_port

$remote_user

$request_filename

$request_uri

$query_string

$scheme

$server_protocol

$server_addr

$server_name

$server_port

$uri

nginx重定向的IF條件判斷

在server和location兩種情況下可以使用nginx的IF條件判斷,條件可以為以下幾種:

匹配判斷

~ 為區分大小寫匹配; !~為區分大小寫不匹配

~* 為不區分大小寫匹配;!~為不區分大小寫不匹配

文件和目錄判斷

-f和!-f判斷是否存在文件

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

-e和!-e判斷是否存在文件或目錄

-x和!-x判斷文件是否可執行

return

返回http代碼

set

設置nginx變量

重啟nginx~ 輸入指令~

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

  • 共4頁:
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 下一頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved