Как я могу очистить маршруты администратора Symfony? - PullRequest
1 голос
/ 10 ноября 2009

Мои внутренние URL-адреса выглядят так:

 mysite.com/backend.php/blog

Я бы хотел изменить его на:

 mysite.com/backend/blog

Технически это не ограничивается приложениями администратора, поскольку Symfony предоставляет каждому приложению два сценария фронт-контроллера. Но я ненавижу иметь имя скрипта в URL-адресах и поэтому хочу изменить его. Это возможно?

Заранее спасибо.

Редактировать

@ codecowboy - Я решил эту проблему, создав каталог 'backend' в веб-каталоге. Затем я скопировал поверх файла .htaccess, который Symfony помещает в Интернет, и переместил фронт-контроллеры backend.php и backend_dev.php в / backend и переименовал их в index.php и index_dev.php. Затем внутри каждого фронт-контроллера я говорю PHP, чтобы он смотрел на один каталог вверх для класса конфигурации проекта. Я занимаюсь этим уже некоторое время, и это отлично отвечает моим потребностям. Я на самом деле обернул все это в задачу, чтобы установка нового приложения администратора выполнялась в один шаг.

1 Ответ

2 голосов
/ 10 ноября 2009

Вы можете добавить

 #I'm no regular expression expert or mod_rewrite expert, this line probably has some bugs 
 RewriteRule ^backend(.*)$ backend.php [QSA,L]

в ваш файл .htaccess прямо перед

RewriteRule ^(.*)$ index.php [QSA,L] 

и это решает половину вашей проблемы. Все, что отправлено на yoursite.com/backend/xxx, будет направлено через backend.php. Другая проблема, с которой вы сталкиваетесь - это внутренняя маршрутизация Symfony. Он будет интерпретировать yoursite.com/backend/xxx как запрос модуля «backend» и действия «xxx». Я уверен, что это не так уж сложно решить. Удачи!

...