html - Nginx:如何让重写规则忽略文件或文件夹

标签 html nginx

我使用 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/

相关文章:

html - 将样式应用于跨度以在特定位置显示它

post - nginx 重写 POST 请求

asp.net - 安装(和部署)Mono ASP.Net 到 Redhat

redirect - Nginx:在重定向期间保留端口

javascript - 是否可以在 Kendo Panelbar 标题上添加 Kendo 菜单?

javascript - html 和 javascript 中从美元到欧元或任何其他货币的货币转换器

JavaScript 与星号的模式匹配

JavaScript - 加载整个网页而不是特定的 div

nginx - docker 不会在 nginx html 根目录中创建文件夹

php - Nginx 位置覆盖 Laravel 5.2 路由?