2011-12-21 2 views
1

У меня есть проект symfony2, и я хотел бы создать маршрут (префикс), который будет указывать на мой старый проект, который находится сам по себе в одной папке (это не проект MVC). Я решил создать папку внутри поставщика с именем моего старого проекта (symfony/vendor/myOldProject).Маршрутизация Symfony2

Так правила:

  • http://symfony/oldproject/ -> указывает на папку или конкретного файла типа (index.php) "симфони/поставщика/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. Хек, просто сохранение старого проекта в отдельной папке в сети (т. Е./Web/project /) должно сделать трюк, если вы будете осторожны с правилами доступа для кодовых папок.

Но если вы абсолютно настаиваете на решении symfony2, то вам, вероятно, потребуется написать набор мостов между вашим старым проектом и новым symfony2.

Определенно нет способа сделать это, как описано в примерах.

+0

Спасибо Inori, вы правы, мне нужно использовать mod_rewrite. Я расскажу более подробно в своем ответе ниже –

2

Я думаю, что это решение поможет людям, которые хотят использовать symfony2 в качестве основного проекта и хранить старые существующие файлы проекта в одной отдельной папке и разрешать трафик со всеми аргументами.

Я добавил .htaccess в Symfony2 в/сети /, которая содержит:?

RewriteEngine На

RewriteCond% {REQUEST_FILENAME} -f

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

И я положил мой старый проект в/веб/oldproject/

Это означает, что я могу использовать Symfony2 для каждого движения:

http://newsymfony/

И для моего старый проект, который я могу использовать:

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

Я надеюсь, что поможет людям, кто хочет перейти от старых проектов в новые на основе Symfony2

Спасибо за помощь

Смежные вопросы