Nginx詳解十八:Nginx深度學習篇之Rewrite規則
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;
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規則