nginx怎么配置返回文本或json

先看返回固定的文本和json,都是在server中配置location攔截即可,配置示例如下:

固定文本:

location?~?^/get_text?{ ??default_type?text/html; ??return?200?'this?is?text!';? }

固定json:

location?~?^/get_json?{ ??default_type?application/json; ??return?200?'{"status":"success","result":"nginx?json"}'; }

保存后重新載入配置即可生效,注意:default_type必須要添加,否則瀏覽器會當成不識別的文件進行下載

另外也可以簡單的根據請求的url返回不同的字符串,示例如下:

location?~?^/get_text/article/(.*)_(d+).html$?{ ??default_type?text/html; ??set?$s?$1; ??set?$d?$2; ??return?200?str:$s$d; }

這樣可以簡單截取url中的字符串,當然也可以用(.*)匹配所有的,實際中根據不同需求定義即可

上面的就是一些簡單的案例,在服務器環境中對于簡單的處理,充分使用nginx可以省去一些編程工作

另外補充一下中文顯示的問題,因為linux下采用的是utf-8的字符編碼,默認情況下我們的瀏覽器在服務器沒有指定編碼或者靜態頁面沒有聲明編碼的情況下會以gbk的編碼去渲染頁面,這樣默認情況下返回中文的話瀏覽器用gbk來解析utf-8編碼,顯然會出現亂碼,這時要在nginx location塊中主動添加header來輸出正確編碼,添加內容為:?add_header content-type ‘text/html; charset=utf-8’; 這樣瀏覽器就知道我們使用的是哪種編碼了,如下圖:

nginx怎么配置返回文本或json

或者把add_header這行換成?charset utf-8; 也是可以的

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享