我在nginx中使用了下面的重写指令来将静态文件的URL重写到外部CDN服务器.

rewrite ^/static/(css|images|js)/([a-z_\-\.]+)$http://cdn.domain.com/$1_$2 last;

它可以工作,但它会在浏览器中自动重定向网址.

如何在不重定向的情况下进行上述重写?

最佳答案
您需要更改应用程序内的链接以指向CDN以获取静态包含.

当你重写到一个http位置时,nginx没有什么可以做但重定向浏览器(因为CDN在nginx之外,浏览器需要从CDN获取文件).您将遇到与Apache或任何其他URL重写器相同的问题,因为CDN不是Web服务器的“内部”位置.

一个选项可能是nginx替换模块,它可以在传递内容时替换内容.但是这不会处理正则表达式,并会降低每个请求的速度.最好只更改应用程序的HTML以直接引用CDN URL.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。