繁体   English   中英

在Apache配置中一起使用mod_rewrite和mod_proxy

[英]mod_rewrite and mod_proxy together in Apache configuration

我正在使用Apache服务器来托管我的Angular应用程序。 所以我通过以下配置启用了单页面应用程序支持

<Location / >
   RewriteEngine on#
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule . /index.html [L]
</Location>

我也有一个后端。 我正在使用mod_proxy来代理Apache。

ProxyPass "/api" "http://127.0.0.1:8081/api"
ProxyPassReverse "/api" "http://127.0.0.1:8081/api"

但是当我使用这两种配置时,我无法调用任何API。 所有调用都返回index.html。

我可以知道出了什么问题以及如何解决这个问题吗?

感谢@Dusan Bajic的评论。
现在,我有以下配置,它的工作原理。

ProxyPass "/api" "http://127.0.0.1:8081/api"
ProxyPassReverse "/api" "http://127.0.0.1:8081/api"

<Location / >
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/api
    RewriteCond %{REQUEST_URI} !\.(?:css|js|map|jpe?g|gif|png)$ [NC]
    RewriteRule . /index.html [L]
</Location>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM