【发布时间】:2020-04-22 17:43:20
【问题描述】:
作为我的配置,我想在 /luz_online_web 位置提供 css 和 js,只有访问 /luz_online_web/*.css 或 .js 是 proxy_pass 到 http://110.134.0.20:8085/luz_online_web/。
server {
server_name ~(?<name>[^.]+)\.dev\.abc\.io$;
location / {
proxy_pass http://110.134.0.20:8085/luz_online_web/$name$request_uri;
include /etc/nginx/klara-reverse.conf;
}
location ~* ^/luz_online_web/(.+\.(css|js))$ {
rewrite ^/luz_online_web/(.*)$ /luz_online_web/$1 break;
proxy_pass http://110.134.0.20:8085;
}
}
但是当我访问网站时仍然没有加载css和js文件。 CSS、JS 文件位于 /luz_online_web 目录,而其他文件(HTML、PNG..)存储在 /luz_online_web/name 目录中。如果我删除过滤器并设置位置/luz_online_web/,它们可以被加载,js文件的路径例如
/luz_online_web/javax.faces.resource/jsf.js;jsessionid=SnhEULxbunZ9F6OEGRtJrMmy
有什么想法吗?
【问题讨论】:
-
那么普通的 HTML 文件和 CSS/JS 文件有什么区别呢?似乎都来自代理。你能详细说明一下吗?
-
@JonnieJS:普通的 html 文件可以从 luz_online_web/$name 加载,而 css/js 需要从 luz_online_web 文件夹加载。
-
它是 same 目录。请尝试向我解释每个资源的确切位置。请对您的问题进行编辑,并尝试添加尽可能多的详细信息。谢谢。
-
@JonnieJS:不一样。 CSS、JS 文件位于 /luz_online_web 目录,而其他文件(HTML、PNG..)存储在 /luz_online_web/name 目录中。我刚刚更新了我的问题。
-
能否请您提供一个css文件路径示例和一个png文件路径示例?在我看来是一样的。
标签: regex nginx nginx-location nginx-reverse-proxy