html5 – 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,images,fonts东西,我不想重写这些url,我只是想忽略这些资产,我想怎么办呢?

解决方法

将重写放入一个位置,并将其他位置用于assests / dynamic urls / etc.
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.
    }
}

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码