Маршрутизация Symfony2 - PullRequest
       0

Маршрутизация Symfony2

1 голос
/ 22 декабря 2011

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

Итак, правила таковы:

  • http://symfony/oldproject/ -> указывает на папку или определенный файл как (index.php) "symfony / vendor / myOldProject"
  • передать весь трафик после oldproject / (все параметры GET)
  • все без префикса oldproject будет использовать стандартную маршрутизацию symfony2

В основном вместо (routing.yml):

OldProject_homepage:

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

Использование:

OldProject_homepage:

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

Как это сделать?

Ответы [ 2 ]

2 голосов
/ 22 декабря 2011

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

Я добавил .htaccess к symfony2в / web / содержит:

RewriteEngine вкл.

RewriteCond% {REQUEST_FILENAME}! -f

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

И я помещаю свой старый проект в / web / oldproject /

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

http://newsymfony/

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

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

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

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

2 голосов
/ 22 декабря 2011

Я думаю, что это проще сделать с правилом mod_rewrite. Черт возьми, простое хранение старого проекта в отдельной папке в сети (например, / web / project /) должно помочь, если вы осторожны с правилами доступа для папок с кодом

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...