在Apache2中绕过具有别名的位置

我想知道如何使用Apache作为特定path的反向代理和本地服务器的子path。

对于特定的位置,我使用Apache作为反向代理( https://my.server.com/my-tools ):

 <Location /my-tools> Order allow,deny Allow from all ProxyPass http://10.1.1.11:3101/my-tools ProxyPassReverse http://10.1.1.11:3101/my-tools </Location> 

关于它的assests,我想使用本地服务器( https://my.server.com/my-tools/images/ )。 我尝试添加别名没有成功:

 Alias /my-tools/images/ /home/myself/public/images/ <Directory /home/myself/public/images/> Order allow,deny Allow from all </Directory> 

我也试图添加这个,但它也没有工作:

 <Location /my-tools/images/> SetHandler None </Location> 

例如,当我inputhttps://my.server.com/my-tools/images/myimage.png ,它会保持redirect到远程服务器。

在mod_proxy ProxyPass文档中有一个直接的例子:

! 指令在你不想反向代理一个子目录的情况下很有用,例如

 <Location "/mirror/foo/"> ProxyPass "http://backend.example.com/" </Location> <Location "/mirror/foo/i"> ProxyPass "!" </Location> 

在你的情况下,将是:

 <Location "/my-tools/images"> ProxyPass "!" Alias "/home/myself/public/images" </Location> <Location "/my-tools/"> ProxyPass http://10.1.1.11:3101/my-tools/ ProxyPassReverse http://10.1.1.11:3101/my-tools/ </Location> 

或者使用其他语法:

 ProxyPass "/my-tools/images" "!" Alias "/my-tools/images" "/home/myself/public/images" ProxyPass "/my-tools/" "http://10.1.1.11:3101/my-tools/" ProxyPassReverse "/my-tools/" "http://10.1.1.11:3101/my-tools/"