Вход

Как убрать папку web в Yii2

Yii2: Убрать папку web в Yii2

Развертывание cms или фреймворка на сервере обычно не вызывает сложностей, так как данная тема не плохо задокументирована, но бывает возникают сложности с довольно простыми вещами.

Сегодня мы рассмотрим как убрать папку web в Yii2.

Зачем нужна папка web в Yii2

Большинство блогов по разработке предлагает одно и то же — отредактировать файл .htaccess, что в корне не верно. Папка web создана разработчиками Yii не для того, программисты плясали с бубнами во круг файла с настройками сервера, а для разделения данных. если мы заглянем в данную папку то увидим файлы стилей, скрипты, картинки и шрифты для шаблона (ну и разумеется точку входа index.php). Подразумевалось размещение именно содержимого этой папки в корень нашего сайта, а все остальные файлы поместить на уровень выше. На большинстве серверов корень сайта называется public_html и именно так мы называем нашу папку web. Остаётся лишь явно указать где содержатся остальные файлы для данного сайта. Давайте разместим их на уровень выше в папку yii и изменим файл точки входа index.php

1
2
3
4
5
6
7
8
9
10
// comment out the following two lines when deployed to production
// defined('YII_DEBUG') or define('YII_DEBUG', true);
// defined('YII_ENV') or define('YII_ENV', 'dev');
 
require(__DIR__ . '/../yii/vendor/autoload.php');
require(__DIR__ . '/../yii/vendor/yiisoft/yii2/Yii.php');
 
$config = require(__DIR__ . '/../yii/config/web.php');
 
(new yii\web\Application($config))->run();

Наш сайт работает как раньше, а мы реализовали задуманное разделение

10 мая 2017 /

3846 Views /

5 комментариев
Ilya Web developer
Author

«Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.»Martin Golding