1. 程式人生 > >Nginx詳解十八:Nginx深度學習篇之Rewrite規則

Nginx詳解十八:Nginx深度學習篇之Rewrite規則

src 開發 gin page return reload 技術 code 效果

Rewrite規則可以實現對url的重寫,以及重定向

作用場景:

1、URL訪問跳轉,支持開發設計,如頁面跳轉,兼容性支持,展示效果等

2、SEO優化

3、維護:後臺維護、流量轉發等

4、安全

配置語法

配置語法:rewrite regex replacement [flag];
默認狀態:-
配置方法:server、location、if
如:rewrite ^(.*)$ /pages/maintain.html break;

常用的正則表達式

技術分享圖片

在linux下,可以用pcretest來測試

技術分享圖片

flag:

技術分享圖片

技術分享圖片

server {
listen 80 default_server;

server_name jeson.t.imooc.io;

access_log /var/log/nginx/log/host.access.log main;

root /opt/app/code;
location ~ ^/break {
rewrite ^/break /test/ break;
}

location ~ ^/last {
rewrite ^/last /test/ last;
}

location /test/ {
default_type application/json;
return 200 ‘{"status":"success"}‘;

}
}

技術分享圖片

檢查配置語法並重載

nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

server {
listen 80 default_server;
server_name jeson.t.imooc.io;

access_log /var/log/nginx/log/host.access.log main;

root /opt/app/code;
location ~ ^/break {
rewrite ^/break /test/ break;

}

location ~ ^/last {
rewrite ^/last /test/ last;
#rewrite ^/last /test/ redirect;
}

location ~ ^/imooc {
rewrite ^/imooc http://www.imooc.com/ permanent;
#rewrite ^/imooc http://www.imooc.com/ redirect;
}

location /test/ {
default_type application/json;
return 200 ‘{"status":"success"}‘;
}
}

技術分享圖片

檢查並重啟

技術分享圖片

技術分享圖片

Rewrite規則優先級

執行server塊的rewrite > 執行location匹配 > 執行選定的location中的rewrite

Rewrite規則書寫

RewriteCode %{HTTP_HOST} nginx.org

RewriteRule (.*)

Nginx詳解十八:Nginx深度學習篇之Rewrite規則