如何为我的所有路由添加前缀

时间:2011-07-27 08:23:13

标签: symfony1 routing symfony-1.4

我目前正在开发一个使用symfony 1.4构建的网站,我需要为所有路由实现路由前缀。此前缀用于为网站指定两个不同的“视图”,例如:

www.domain.com/b2b : B2B oriented view
www.domain.com/b2c : B2C oriented view

这两个URL都呈现相同的模块/操作,但几乎没有特定的差异(textes,images,...)。因此,www.domain.com/b2b/module1/action1和www.domain.com/b2c/module1/action1必须执行相同的操作/视图,但前缀应该可以在操作或模板中捕获。

有没有办法实现这一点而无需在每个urlFor / routeFor调用中对前缀进行硬编码?

2 个答案:

答案 0 :(得分:0)

您可以创建自己的路由类,将“视图”(b2b / b2c)附加到路由,并在需要时对其进行解析。

创建一个继承自sfRoute的自定义类。在routing.yml添加class: myRouteClassName到路线。

答案 1 :(得分:0)

我找到了一个很好的资源页面,满足您的需求:
http://particul.es/blog/index.php?post/How-to-change-backend.php-to-admin-prefix-routes-automatically-symfony
有许多解决方案可以实现您的目标。但是,个人而言,我认为最聪明的方法是在.htaccess中处理这个问题。