如何服务器静态文件 + 代理上下文

pou*_*sma 6 apache mod-rewrite reverse-proxy mod-proxy httpd.conf

我想知道如何配置我的 httpd 服务器来提供以下页面:

当 url 为 /context/static 时,我需要提供位于我的 /var/www/static 中的静态内容,并将其余内容代理到 tomcat 服务器

按照这个顺序:

/context/static/* --> files served by httpd
/context/*        --> resources served by tomcat
Run Code Online (Sandbox Code Playgroud)

我试图将 /context/static/* 重写为指向我的 /var/www/static 的文件夹,并ProxyPath为其余部分添加了指令,但我无法让它工作。

什么是最佳实践以及如何实现?

提前致谢

pou*_*sma 3

嗯,事实上这很简单......

配置此类文件夹:

/var/www/static/
               |-  css/*
               |-  js/*
                \  medias/*
Run Code Online (Sandbox Code Playgroud)

以下 httpd 配置会将 static/* 重定向到 ,/var/www其余部分将被代理

# first rewrite for statics
RewriteEngine On
RewriteRule ^/context/static/(.+)$ /static/$1

# then proxy remaining...
ProxyPass               /context  http://127.0.0.1:8080/context
ProxyPassReverse        /context  http://127.0.0.1:8080/context
Run Code Online (Sandbox Code Playgroud)