我在同一个子域中有两个主干应用程序和一个API但是我无法使pushStates适用于具有正确位置正则表达式的应用程序。
这是我试图完成的路径
subdomain.domain.org/admin subdomain.domain.org/client subdomain.domain.org/api
我曾尝试为客户端和管理员配置重写规则,但它总是因404或500错误而失败。这样做的正确方法是什么?
以下是我尝试过的所有组合的一个例子:
location ~ ^/admin.*$ {
alias /var/www/project/admin/public
rewrite ^(.+)$ /index.html last;
}
答案 0 :(得分:3)
我在阅读https://serverfault.com/questions/361159/nginx-multiple-location-issues#361426后想出来了 结束了这个:
location ^~ /admin {
access_log /var/log/nginx/admin.access.log;
error_log /var/log/nginx/admin.error.log notice;
alias /var/www/project/admin/public/;
try_files $uri $uri/ /index.html;
rewrite ^/admin/(.+/)$ /admin/index.html last;
}
location ^~ /client {
access_log /var/log/nginx/client.access.log;
error_log /var/log/nginx/client.error.log notice;
alias /var/www/project/client/public/;
try_files $uri $uri/ /index.html;
rewrite ^/client/(.+/)$ /client/index.html last;
}