Symfony2 API子域和使用/ api uri前缀的本地测试

时间:2016-08-08 01:40:55

标签: php .htaccess symfony fosrestbundle

小问题。

目前我在localhost上的DEV模式下工作。 在那里我像这样调用API。

http://localhost/project/web/app_dev.php/api/get_all

现在我想为api子域添加一个检测器,以便我可以使用上面的uri和下面的这个。

http://api.example.org/get_all

这可能吗?如果是的话:你能告诉我这是如何起作用的吗? 也许通过.htaccess中的请求重写? (简单) 或者(复杂)通过对内核事件的重写请求?

我正在使用FOSUserBundle routing.yml

api:
    resource: "@ApiBundle/Controller/"
    type:     annotation
    prefix:   /api
    defaults: {_format: json}

1 个答案:

答案 0 :(得分:1)

您可以按How to Match a Route Based on the Host

中所述尝试此操作
api:
    resource: "@ApiBundle/Controller/"
    type:     annotation
    path:     /
    host:     "api.example.com"
    defaults: {_format: json}

或使用PHP routing根据环境改变路线。

但我不推荐任何一种选择。