参考这个,
http://symfony.com/doc/current/book/routing.html
我们可以将url模式映射到控制器和动作
应用程序/配置/ routing.yml中
blog_show:
path: /blog/{slug}
defaults: { _controller: AcmeBlogBundle:Blog:show }
Run Code Online (Sandbox Code Playgroud)
我想将路径映射到外部URL.
应用程序/配置/ routing.yml中
blog_show:
path: /blog/{slug}
defaults: "www.example.com/blog"
Run Code Online (Sandbox Code Playgroud)
要求是,我现在的网站在kohana,我逐渐将它移植到symfony 2.对于我的symfony2 app kohana URL就像外部网址,我想在路由中配置这些网址并以标准方式使用它们,
例如在Twig,
<a href="{{ path('blog_show'}}">
Read this blog post.
</a>
Run Code Online (Sandbox Code Playgroud)
所以稍后当我将我的页面移植到Symfony时,我将只需要更改路由文件,这样我就可以使用相同的blog_show键来引用url,而且我不必更改我使用url的所有文件.
您可以使用其中一个Symfony框架控制器执行此操作,但我不确定这将如何与参数一起使用:
blog_show:
path: /blog/{slug}
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: "http://example.com/blog"
permanent: true
Run Code Online (Sandbox Code Playgroud)
请注意,path: /blog/{slug}直接抓住slu ,,但path: "http://example.com/blog/{slug}"不起作用.
资料来源:http://symfony.com/doc/current/cookbook/routing/redirect_in_config.html
Web*_*rig -2
Symfony 的路由器功能不是这样工作的......
我建议你为此创建一个 Twig 扩展。在这里阅读更多相关信息: http://symfony.com/doc/current/cookbook/templated/twig_extension.html
您可以创建一个与常规 url() 函数非常相似的函数,这样您就可以尽可能轻松地进行迁移。
{{ legacyUrl('blog_post', {slug: 'my-blog-post'}) }}
Run Code Online (Sandbox Code Playgroud)
将博客迁移到 Symfony 后,您所需要做的就是创建一个名为“blog_post”的路由并将“legacyUrl”更改为“url”。