:-)
  • SQL 23.02.2009

    Тем, кто изучает симфони известно, что админку часто делают через "generate:app backend". То есть мы создаем приложение внутри нашего проекта. Это прекрасно, но есть одно НО. Чтобы нам зайти в админку требуется писать http://project/backend.php/some-admin-pages. Можно конечно обьяснять заказчикам, что мол понимаете, это другое приложение внутри проекта, другой фронт-контроллер, так надо. Но лучше сделать иначе. Скажу сразу, этот метод взят с официального форума симфони. Но найти его проблематично.

    Метод таков:

    1. Создаем папку "admin" внутри папки "web". Копируем туда .htaccess из той же "web", и заменяем
      RewriteRule ^(.*)$ index.php [QSA,L]
      на
      RewriteRule ^(.*)$ ../backend.php [QSA,L]
    2. Идем в настройки роутинга для backend (app/backend/config/routing.yml) и добавляем папку /admin/ ко всем роутам. Например:

      # default rules
      homepage:
      url: /admin/
      param: { module: default, action: index }

    3. Меняем no_script_name на "on" в настройках backend (app/backend/config/settings.yml):
      prod:
      .settings:
      no_script_name: on
    4. Чистим кеш и заходим в папку: http://project/admin/ без проблем.

    Tags: , ,

  • 2 комментариев

    WP_Modern_Notepad
    • Морозов пишет:

      Продолжение будет?
      Были бы признательны :-)

    • Антон пишет:

      Не совсем понял для чего так все усложнять. Если уж используем mod_rewrite, так давайте ограничимся им одним..

      #RewriteRule ^admin\/(.*)$ backend.php [QSA,L]

    Trackbacks

    Оставить комментарий

    Внимание: Комментарии проходят премодерацию. Не надо посылать их несколько раз.