2015-04-27 3 views
1

Я загрузил свой yii2 шаблон предварительного проект в свободном месте хостингового ... моя проблема в том, что я могу открыть сайт в браузере, как этогоКак перенаправить мою страницу

http://mysite.freehost.com/yiiproj/frontend/web/

как можно ли удалить этот интерфейс/сеть?

так, что, когда я собираюсь открыть свой внешний интерфейс в браузере, это просто, как этот

http://mysite.freehost.com/yiiproj/

Спасибо заранее.

+0

считают [это] (https://github.com/mickgeek/yii2-advanced-one-domain-config) пример конфигурации – Tony

+0

кстати я положил внутрь в yiiproj – jemz

ответ

0

Вы можете попробовать это в корне/.htaccess

RedirectMatch 301 ^/yiiproj/?$ http://mysite.freehost.com/yiiproj/frontend/web/ 

если RedirectMatch не помогает, то попробуйте следующее.

RewriteEngine on 
RewriteRule ^yiiproj/?$ http://mysite.freehost.com/yiiproj/frontend/web/ [R=301,NC,L] 
0

Вам необходимо поместить всю часть фрейма за пределы загружаемых в сеть папок. На любом бесплатном хостинге вы найдете загружаемую часть в папке «public_html» или «www».

Basic App

  1. На корню вне WWW части, создайте папку (например, имя его myyiiapp) и поместить все файлы приложения там.

  2. Переместить/веб-содержимое в папку www/yiiproj, которая является загружаемым каталогом.

  3. Обновите файл web/index.php (который теперь находится в файле www/yiiproj/index.php), чтобы указать на правильный относительный каталог приложения yii, и вам должно быть хорошо идти. Вам нужно будет отредактировать следующие 3 строки примерно так для базового приложения.

    require(__DIR__ . '/../myyiiapp/vendor/autoload.php'); 
    require(__DIR__ . '/../myyiiapp/vendor/yiisoft/yii2/Yii.php'); 
    
    $config = require(__DIR__ . '/../myyiiapp/config/web.php'); 
    

Advanced App

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

  1. Сделайте шаг 1, как в случае выше.
  2. Перемещение/интерфейс/web в папку www/yiiproj и/backend/web в другую папку www/yiiadmin (и т. Д.).
  3. Обновите файлы web/index.php, чтобы указать правильные пути.Все последующие 8 строк должны быть внесены соответствующие изменения в файлах конфигурации

    require(__DIR__ . '/../../vendor/autoload.php'); 
    require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); 
    require(__DIR__ . '/../../common/config/bootstrap.php'); 
    require(__DIR__ . '/../config/bootstrap.php'); 
    
    $config = yii\helpers\ArrayHelper::merge(
        require(__DIR__ . '/../../common/config/main.php'), 
        require(__DIR__ . '/../../common/config/main-local.php'), 
        require(__DIR__ . '/../config/main.php'), 
        require(__DIR__ . '/../config/main-local.php') 
    ); 
    

Философия

Это лучший/предполагаемый подход к YII приложений, как она защищает любого вида удаленного доступа к исходный код и весь общедоступный контент уже находятся в/веб-части, которая безопасна для загрузки.

Yii2 очень развязанный, вы можете создать собственное приложение, возможно, 10 веб-каталогов в общедоступной области. Каждый файл web/index.php, указывающий на тот же каталог поставщика (поскольку требуется только одна установка yii), те же файлы конфигурации (если вам нужен только другой html) или персонализированные файлы конфигурации (если приложение имеет одинаковые дБ, но разные наборы контроллеров обычно)

+0

, где я могу обнаружил, что 3 строки – jemz

+0

не включен htaccess? – jemz

+0

не основной файл индекса, а файл web/index.php. Когда вы просматриваете приложение, это первый файл, который вызывается, и он загружает фреймворк, используя относительный путь. И вы можете добавить свой собственный htaccess, yii2 не имеет его по умолчанию – arkoak

Смежные вопросы