Yii: .htaccess и urlManager для отдельных бэкенда и внешнего интерфейса

У меня есть трудно настроить мой .htaccess и urlManager в проекте Yii, чтобы иметь внешний интерфейс в http://www.example.comи бэкэнд в http://www.example. com/backendсо следующей структурой папок. Любая помощь приветствуется. Спасибо.

/assets
/backend
   /controllers
   /config
      main.php
   /models
   /views
/common
   /models
/protected
   /controllers
   /config
      main.php
   /models
   /views 
.htaccess
backend.php
index.php

Решение:после большой помощи @bool.dev все работает, поэтому я добавляю сюда все необходимые окончательные файлы. Во внешнем интерфейсе я использую формат пути для URL-адреса и скрываю бэкэнд index.php

/backend/config/main.php

$backend=dirname(dirname(__FILE__));
Yii::setPathOfAlias('backend', $backend);
return array(
'basePath' => $backend,

'controllerPath' => $backend.'/controllers',
'viewPath' => $backend.'/views',
'runtimePath' => $backend.'/runtime',

...);

/protected/config/main.php

'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=>false,
    'rules'=>array(
            '/'=>'/view',
            '//'=>'/',
            '/'=>'/',
    ),
),

.htaccess

Options +FollowSymLinks
IndexIgnore */*

RewriteEngine on
RewriteBase /yii/example/
RewriteRule backend backend\.php [T=application/x-httpd-php]

# 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

. php

$yii=dirname(__FILE__).'/../../yii/framework/yii.php';
$config=dirname(__FILE__).'/backend/config/main.php';
require_once($yii);
Yii::setPathOfAlias('common', dirname(__FILE__).DIRECTORY_SEPARATOR.'common');
Yii::createWebApplication($config)->run();

index.php

$yii=dirname(__FILE__).'/../../yii/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
require_once($yii);
Yii::setPathOfAlias('common', dirname(__FILE__).DIRECTORY_SEPARATOR.'common');
Yii::createWebApplication($config)->run();

6
задан Puigcerber 22 May 2012 в 11:36
поделиться