Symfony2路由

时间:2011-12-21 20:10:24

标签: symfony

我有一个symfony2项目,我想创建路由(前缀),它指向我的旧项目,它独立于一个文件夹(它不是MVC项目)。我决定在供应商中创建一个名为我的旧项目的文件夹(symfony / vendor / myOldProject)。

所以规则是:

  • http://symfony/oldproject/ - >指向文件夹或特定文件 喜欢(index.php)“symfony / vendor / myOldProject”
  • 在oldproject /(所有GET参数)之后传递所有流量
  • 没有前缀oldproject的所有内容都将使用标准的symfony2路由

Basicaly而不是(routing.yml):

  

OldProject_homepage:

pattern:  /oldproject/
defaults: { _controller: AcmeDemoBundle:Default:index }

使用:

  

OldProject_homepage:

pattern:  /project/
defaults: { /vendor/myOldProject }

怎么做?

2 个答案:

答案 0 :(得分:2)

我认为使用mod_rewrite规则更容易。 哎呀,如果你对代码文件夹的访问规则小心的话,只需将旧项目存放在web下的一个单独的文件夹中(即/ web / project /)就可以了。

但如果您绝对坚持使用symfony2解决方案,那么您可能需要在旧项目和新symfony2之间编写一个桥接束。

绝对没办法像你在例子中描述的那样去做。

答案 1 :(得分:2)

我认为这个解决方案可以帮助那些想要使用symfony2作为主项目的人,并将旧的现有项目文件保存在一个单独的文件夹中,并允许所有获取参数的流量。

我已将.htaccess添加到/ web /中的symfony2,其中包含:

  

RewriteEngine On

     

RewriteCond%{REQUEST_FILENAME}!-f

     

RewriteRule ^(?:(?!oldproject)。)* $ app_dev.php [QSA,L]

我将旧项目放在/ web / oldproject /

这意味着我可以为每个流量使用symfony2:

http://newsymfony/

对于我可以使用的旧项目:

http://newsymfony/oldproject/anyfile.php?annyArgument=anyValue

我希望能帮助那些希望从旧项目迁移到基于symfony2的新项目的人

感谢您的帮助

相关问题