2011-12-21 120 views
1

我有一个symfony2项目,我想创建路线(前缀),它将指向我自己在一个文件夹(它不是一个MVC项目)中的旧项目。我决定在我的旧项目名称(symfony/vendor/myOldProject)中创建文件夹。Symfony2路由

所以规则是:

  • http://symfony/oldproject/ - >点像(的index.php) “的symfony /供应商/ 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

我认为使用mod_rewrite规则更容易。 哎呀,刚存储的老项目在一个单独的文件夹下的网页(IE /网络/项目/)应该做的伎俩,如果你小心代码文件夹

访问规则,但如果你绝对坚持Symfony2的解决方案,然后你可能需要在你的旧项目和新的symfony2之间编写一个桥梁包。

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

+0

谢谢Inori的人,你的权利,我需要使用mod_rewrite。我将在下面的答案中提供更多细节 – 2011-12-22 12:36:55

2

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

我加入的.htaccess到在/ web/Symfony2的将包含:?

RewriteEngine叙述在

的RewriteCond%{} REQUEST_FILENAME -f

重写规则^(:(? !oldproject)。)* $ app_dev。PHP [QSA,L]

我把我的老项目在/ web/oldproject/

这意味着我可以使用Symfony2的每一个交通:

http://newsymfony/

而对于我老项目,我可以使用:

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

我希望将有助于谁想要从旧项目迁移到基于Symfony2的新

感谢您的帮助