我设置了一个nginx服务器来提供静态文件,还有一个应用服务器来为其余文件提供服务。
必需的行为:
否则发送到后端服务器
location ~* ^/myapp-admin/(.*\.(css|js|gif|jpe?g|png))$ {
expires 7d;
autoindex on;
alias {{ nginx_myapp_admin_staticfiles }};
}
location ~* ^/myapp-admin/fonts/ {
expires 7d;
autoindex on;
alias {{ nginx_myapp_admin_staticfiles }};
}
location ~* ^/myapp/(.*\.(css|js|gif|jpe?g|png))$ {
expires 7d;
autoindex on;
alias {{ nginx_myapp_staticfiles }};
}
location ~* ^/myapp/fonts/ {
expires 7d;
autoindex on;
alias {{ nginx_myapp_staticfiles }};
}
location / {
proxy_pass {{ myapp_app_backend_url }};
}
但是,目前,所有请求都被路由到最后一个块并最终到达我的应用服务器。
答案 0 :(得分:0)
你的正则表达式似乎错了
server {
listen 8081;
location ~(.*)(endwithjs|endwithcss)$ {
return 301 https://www.perdu.com;
}
location ~^\/(startwithjs|startwithcss){
return 301 https://www.google.fr;
}
}
Nginx将按以下方式处理请求:
http://localhost:8081/abc/abc/endwithjs => perdu.com
http://localhost:8081/startwithcss/Sdfsdf/sdf => google.fr