nginx實現301跳轉

2021-07-23 21:49:11 字數 2007 閱讀 9810

nginx 各引數作用

$arg_parameter #這個變數包含get請求中,如果有變數parameter時的值。

$args #這個變數等於請求行中(get請求)的引數,例如foo=123&bar=blahblah;

$binary_remote_addr #二進位制的客戶位址。

$body_bytes_sent #響應時送出的body位元組數數量。即使連線中斷,這個資料也是精確的。

$content_length #請求頭中的content-length欄位。

$content_type #請求頭中的content-type欄位。

$cookie_cookie #cookie cookie變數的值

$document_root #當前請求在root指令中指定的值。

$document_uri #與$uri相同。

$host #請求主機頭欄位,否則為伺服器名稱。

$is_args #如果有$args引數,這個變數等於」?」,否則等於」",空值。

$http_user_agent #客戶端agent資訊

$http_cookie #客戶端cookie資訊

$limit_rate #這個變數可以限制連線速率。

$query_string #與$args相同。

$request_body_file #客戶端請求主體資訊的臨時檔名。

$request_method #客戶端請求的動作,通常為get或post。

$remote_addr #客戶端的ip位址。

$remote_port #客戶端的埠。

$remote_user #已經經過auth basic module驗證的使用者名稱。

$request_completion #如果請求結束,設定為ok. 當請求未結束或如果該請求不是請求鏈串的最後乙個時,為空(empty)。

$request_method #get或post

$request_filename #當前請求的檔案路徑,由root或alias指令與uri請求生成。

$request_uri #包含請求引數的原始uri,不包含主機名,如:」/foo/bar.php?arg=baz」。不能修改。

$scheme #http方法(如http,https)。

$server_protocol #請求使用的協議,通常是http/1.0或http/1.1。

$server_addr #伺服器位址,在完成一次系統呼叫後可以確定這個值。

$server_name #伺服器名稱。

$server_port #請求到達伺服器的埠號。

$uri #不帶請求引數的當前uri,$uri不包含主機名,如」/foo/bar.html」。該值有可能和$request_uri 不一致。$request_uri是瀏覽器發過來的值。該值是rewrite後的值。例如做了internal redirects後。

在nginx上面實現跳轉很簡單,使用

rewrite

方法即可 如:

rewrite  ^/example-(\d+).html   /test.html  permanent;
如果取消permanent,

則標識302臨時重定向,

位址列顯示重定向後的url,爬蟲不會更新url(因為是臨時)

如果原始鏈結中含有引數,則可使用

$query_string

或者$args

rewrite /zb/index\.php /zbinfo/$arg_id.html? permanent;
$arg_id表示:/zb/index.php?id=***x

php實現301跳轉

在php中正常的臨時跳轉通常使用 header location test.php 但是這種返回的狀態碼是302 如果要實現301跳轉的話,需要在之前設定下狀態碼 注意 雖然客戶端轉向了,但程式還會向下執行,所以要exit 301,302 都是http狀態的編碼,都代表著某個url發生了轉移,不同之...

Nginx 301跳轉設定方法

下面示例將www.example.com跳轉到example.com,如果你需要跳轉到www網域名稱,相應修改一下下面 即可。nginx 301跳轉設定其實很簡單,首先開啟站點.conf配置檔案,檔案路徑一般是 usr local nginx conf vhost 然後 本地或者使用vi修改都行。找...

apache 實現301跳轉的做法

實現301頁面跳轉之前需要對apache配置做下修改如 apache預設是沒有開啟mod rewrite模組的,1,將 如下 loadmodule rewrite module modules mod rewrite.so 這一行前面的 號去掉,http.conf的站點目錄配置,另一種是空間使用者常...