我目前正在开发一个使用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调用中对前缀进行硬编码?
答案 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中处理这个问题。