前端之家收集整理的这篇文章主要介绍了
Nginx重写URL没有重定向,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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.
原文链接:https://www.f2er.com/nginx/435208.html