【问题标题】:Rewrite except loading JS files重写除了加载 JS 文件
【发布时间】:2018-05-19 14:07:07
【问题描述】:

在我的 nginx 设置中,我进行了以下重写

location ~* ^/1/\b(?!#|auth)\w+\b/? {
    rewrite ^/1/(.*)$ https://www.funfun.io/1/#/$1 redirect;
}

结果www.funfun.io/1/home会被重写为www.funfun.io/1/#/home,这就是我想要的。

但是,www.funfun.io/1/3.bundle.js 也将写入www.funfun.io/1/#/3.bundle.js,这不是我想要的。我想离开www.funfun.io/1/3.bundle.js,更一般地说是www.funfun.io/1/*.js,就这样。

有人知道如何在 nginx 块中指定它吗?

【问题讨论】:

    标签: regex nginx url-rewriting url-redirection


    【解决方案1】:

    您可以在重写中排除序列。

    这样的事情应该可以工作:

    rewrite ^/1/(.*[^.][^j][^s])$ https://www.funfun.io/1/#/$1 redirect;
    

    【讨论】:

    • 成功了...现在我想把www.funfun.io/1/*.js改写成www.funfun.io/bundles/*.js,你知道怎么写吗?
    • 在前面再重写一次,用 last 关键字:rewrite ^/1/(.*[.]js)$ funfun.io/bundles/$1 redirect last;它应该工作
    • 为什么是redirect last?它给sudo service nginx restart 一个错误。
    • 对不起,只是一个错字。您可以尝试其中一种。
    猜你喜欢
    • 2012-08-05
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2018-04-03
    • 1970-01-01
    相关资源
    最近更新 更多