我使用 Nginx 为 SPA(单页应用程序)提供服务,为了支持 HTML5 History API,我必须将所有更深层次的路由重写回 /index.html
,所以我遵循 this article 和有用!这是我现在放在 nginx.conf 中的内容:
server {
listen 80 default;
server_name my.domain.com;
root /path/to/app/root;
rewrite ^(.+)$ /index.html last;
}
但是有一个问题,我在根目录下有一个/assets
目录包含所有的css、js、图像、字体的东西,我不想重写这些url,我只是想忽略这些 Assets ,我该怎么办?
最佳答案
将 rewrite
放入一个 location
并将其他 location
用于 Assets /动态 urls/等。
server {
listen 80 default;
server_name my.domain.com;
root /path/to/app/root;
location / {
rewrite ^ /index.html break;
}
location /assets/ {
# Do nothing. nginx will serve files as usual.
}
}
关于html - Nginx:如何让重写规则忽略文件或文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26093270/