php - 如何在映射到外部 URL 的 symfony 2 中创建路由?

标签 php symfony twig

提到这一点,

http://symfony.com/doc/current/book/routing.html

我们可以将 url 模式映射到 Controller 和操作

应用程序/配置/routing.yml

blog_show:
    path:      /blog/{slug}
    defaults:  { _controller: AcmeBlogBundle:Blog:show }

我想将路径映射到外部 url。

应用程序/配置/routing.yml

blog_show:
    path:      /blog/{slug}
    defaults:  "www.example.com/blog"

要求是,我当前的网站是在 kohana 中,我正在逐渐将它移植到 symfony 2。对于我的 symfony2 应用程序,kohana URL 就像外部 url,我想在路由中配置这些 url 并以标准方式使用它们,

例如在 Twig 中,

<a href="{{ path('blog_show'}}">
  Read this blog post.
</a>

所以稍后当我将我的页面移植到 Symfony 时,我将只需要更改路由文件,这样我就可以使用相同的 blog_show 键来引用 url,而我不必更改我使用 url 的所有文件。

最佳答案

你可以通过使用 Symfony 框架 Controller 之一来做到这一点,尽管我不确定这将如何与参数一起工作:

blog_show:
    path: /blog/{slug}
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: "http://example.com/blog"
        permanent: true

请注意,path:/blog/{slug} 直接抓取 slug,但 path: "http://example.com/blog/{slug}"不起作用。

来源:http://symfony.com/doc/current/cookbook/routing/redirect_in_config.html

关于php - 如何在映射到外部 URL 的 symfony 2 中创建路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17878640/

相关文章:

php - 表单助手 Cake PHP 中的复选框

php - 上传文件到我的网站目录

symfony - 带有自定义 JSON 主体的 Api 平台自定义 Controller

html - 在 {% spaceless %} 标签内的 block 内禁用 spaceless

php - 带有原型(prototype)的 Symfony 4 表单集合

php - Magento 默认 Controller Action

php - 通过复选框选择无法正确删除图像

php - 直接使用 $_POST ["x"] 还是复制到局部变量然后使用?

来自数据库的 PHPUnit dataProvider

symfony - 是否可以直接访问twig模板中的Route参数?