Apache LocationMatch 匹配以...开头的 url

标签 apache proxy locationmatch

我正在使用 apache 将 AJAX 请求重定向到我的 AJAX 应用程序中的服务器后端。

以/service/开头的所有内容都应该转到服务后端:

<LocationMatch "/service">
    ProxyPass http://backend:8080/service Keepalive=On
    Header set Cache-Control "no-cache, no-store, must-revalidate"
</LocationMatch>

以/auth 开头的所有内容都会进入身份验证服务器:

<LocationMatch "/auth">
    ProxyPass http://keycloak:8090/auth/ Keepalive=On
</LocationMatch>

我对我明显有效的解决方案感到满意,除非将身份验证 channel 添加到后端,并且我注意到,后端不会消耗对 /service/auth/info 的请求,但登陆身份验证服务器。

显然我有一些理解问题。我应该如何匹配以给定字符串开头且不包含在中间某处的 URL?

最佳答案

使用插入符号 (^) 指示字符串的开头:

<LocationMatch "^/service">

关于Apache LocationMatch 匹配以...开头的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51560733/

相关文章:

php - .htaccess 将 IP 地址重定向到 HTTPS 域

java - 当实体被代理时的代理模式?

caching - 如果 Cache-Control 有 `no-cache` 和 `max-age=900` 会发生什么?

regex - Apache 位置匹配通配符 URL

Apache,位置匹配 : match query string

apache - mod_rewrite -> 未按预期工作

apache - 在 Apache POI HSSF 中,单元格类型仍然显示为 "General"Excel,即使它是数字格式的

r - 使用 Apache 2.4 在 Shiny 服务器中代理 Web 套接字

apache - 使用 apache : pass group as header to application server 进行身份验证