Еще раз про backend

Все привет. Я - один из многих, кто предпочел yii всяким zendам, cakeам, limb`ам (последнее время писал на limb). Написал уже несколько небольших приложений на yii, благо очень хорошее апи и комьюнити (ответы практически на все вопросы находил здесь). И в итоге пришел к написанию админки в проекте (backend).

Сейчас структура проекта у меня выглядит как описано здесь Organize directories for applications with front-end and back-end. Но в таком случае, скрыть точку входа в UrlManager`е (‘showScriptName’=>false) не предоставляется возможным. Да и хотелось бы как полагается ссылку на админку http://sitename/admin (это можно реализовать используя правила в .htaccess), но опять же index.php и backend.php скрыть не удастся.

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

Какие у Вас мысли по этому поводу и кто как реализует админку в своих проектах?

Обычно не разделяю. Делаю в зависимости от прав текущего пользователя доступными разные разделы и кнопочки.

Права разграничиваю так: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file

То есть, тебе надо правильно настроить .htaccess? Помочь?




Options +FollowSymlinks

IndexIgnore */*


RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php



Да, интересно было бы посмотреть как будет выглядеть .htaccess для ситуации:

Точка входа на сайт:

http://sitename/index.php/

Соответственно примеры урлов по сайту:

http://sitename/index.php/catalog

http://sitename/index.php/map




Options +FollowSymlinks

IndexIgnore */*


RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php



Вот этот код как раз, чтобы убрать index.php. Согласен.

Следуем далее. Есть еще одна точка входа:

http://sitename/backend.php/

Вот мне и хотелось бы посмотреть вид .htaccess чтобы

http://sitename/admin/ == http://sitename/backend.php/

Что-то вроде:


RewriteRule /admin(.*) /backend.php$1

Интересно, а чем у index.php отличается от backend.php?

Я прошу прощения, можно пожалуйста более детально.

Вот есть такой .htaccess

Options +FollowSymLinks

IndexIgnore /

RewriteEngine on

if a directory or a file exists, use it directly

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

otherwise forward it to index.php

RewriteRule . index.php

что нужно добавить и куда, чтобы ссылку http://localhost/continea/backend.php переписать на http://localhost/continea/admin/

Большое спасибо и прошу прощения за возможно глупый вопрос.

я выбрал вот этот вариант http://www.yiiframework.com/doc/cookbook/63/

написал уже несколько сайтов, структура очень устраивает, проблем не наблюдал

ну разве что один раз хотелось что бы Yii::app()->user для FE & BE были разные, но

пока руки не дошли переписать

Я всегда оформляю как модуль, ЧПУ сохраняется, индивидуальный конфиг.