日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux服务器做301跳转,nginx 实现当找不到文件时实现301跳转

發布時間:2023/12/10 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux服务器做301跳转,nginx 实现当找不到文件时实现301跳转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

server {

server_name test.com;

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

}

last – 基本上都用這個Flag。

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

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

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

Nginx的重定向用到了Nginx的HttpRewriteModule,下面簡單解釋以下如何使用的方法:

rewrite命令

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

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

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

last – 基本上都用這個Flag。

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

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

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

例如下面這段設定nginx將某個目錄下面的文件重定向到另一個目錄,$2對應第二個括號(.*)中對應的字符串:

location /download/ {

rewrite ^(/download/.*)/m/(.*)\..*$ $1/nginx-rewrite/$2.gz break;

}

nginx重定向的IF條件判斷

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

正則表達式

如:

匹配判斷

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

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

例如下面設定nginx在用戶使用ie的使用重定向到/nginx-ie目錄下:

if ($http_user_agent ~ MSIE) {

rewrite ^(.*)$ /nginx-ie/$1 break;

}

文件和目錄判斷

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

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

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

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

例如下面設定nginx在文件和目錄不存在的時候重定向:

if (!-e $request_filename) {

proxy_pass http://127.0.0.1;

}

return

返回http代碼,例如設置nginx防盜鏈:

location ~* \.(gif|jpg|png|swf|flv)$ {

valid_referers none blocked www.test.com www.test1.com;

if ($invalid_referer) {

return 404;

}

}

總結

以上是生活随笔為你收集整理的linux服务器做301跳转,nginx 实现当找不到文件时实现301跳转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。