link Symfony2 API 前端的好方法?

A good way to link front-end to Symfony2 API?

我有一个 Symfony2 API,我想从单页前端应用程序调用它。我当前的 url 指向 Symfony 的 /web 目录。所以我可以通过 app.php 或 app_dev.php 调用 API 槽。行得通。

现在我想将我的前端应用程序耦合到 Symfony 后端。这样做的好方法是什么?当然,我搜索了 .htaccess 重写。

例如,将 url 中指向 */api 的所有请求重定向到 Symfony 的 app.php 和所有 url 请求不包含前端应用程序的 /api(/web 目录中的符号 link,指向其中包含前端应用程序的供应商映射)。

我目前解决了它改变(默认 Symfony 2.6).htaccess:

# (remove this line!) DirectoryIndex app.php 

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}:: ^(/.+)/(.*)::$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    # Instead of:
    # (removed) RewriteRule .? %{ENV:BASE}/app.php [L]

    # I did:

    # Redirect everything with %url%/api to the Symfony2 font controller.
    RewriteCond %{REQUEST_URI} api/
    RewriteRule .? %{ENV:BASE}/app.php/ [L]

    # Redirect everything else to another dir, possibly front-end app.
    RewriteRule .? %{ENV:BASE}/myfrontend/ [R,L,QSA,NE]
</IfModule>

重要的是 [R,...]

由于这可能是错误的,我希望仍然有人可以提供有关如何正确执行此操作的提示。