
Тем, кто изучает симфони известно, что админку часто делают через "generate:app backend". То есть мы создаем приложение внутри нашего проекта. Это прекрасно, но есть одно НО. Чтобы нам зайти в админку требуется писать http://project/backend.php/some-admin-pages. Можно конечно обьяснять заказчикам, что мол понимаете, это другое приложение внутри проекта, другой фронт-контроллер, так надо. Но лучше сделать иначе. Скажу сразу, этот метод взят с официального форума симфони. Но найти его проблематично.
Метод таков:
- Создаем папку "admin" внутри папки "web". Копируем туда .htaccess из той же "web", и заменяем
RewriteRule ^(.*)$ index.php [QSA,L]
на
RewriteRule ^(.*)$ ../backend.php [QSA,L] - Идем в настройки роутинга для backend (app/backend/config/routing.yml) и добавляем папку /admin/ ко всем роутам. Например:
# default rules
homepage:
url: /admin/
param: { module: default, action: index } - Меняем no_script_name на "on" в настройках backend (app/backend/config/settings.yml):
prod:
.settings:
no_script_name: on - Чистим кеш и заходим в папку: http://project/admin/ без проблем.






Май 3rd, 2009 at 15:06
Продолжение будет?
Были бы признательны
Май 18th, 2009 at 19:34
Не совсем понял для чего так все усложнять. Если уж используем mod_rewrite, так давайте ограничимся им одним..
#RewriteRule ^admin\/(.*)$ backend.php [QSA,L]