我正在使用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。
我可以知道哪里出了问题以及如何解决吗?
答案 0 :(得分:0)
感谢@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>