Начать разработку на Yii Framework 2 проще, чем кажется. Скачайте Yii Framework 2, распакуйте в корневую директорию сайта, откройте web/web.php и заполните поле cookieValidationKey любым значением, например 'sfg8t0sf7g'. После этого по адресу yoursite.com/web должен появиться приветственный экран.
Перенос приложения в корень домена
Переместите index.php из папки web в корень сайта. Исходный файл выглядит так:
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/../config/web.php');
(new yii\\web\\Application($config))->run();
После переноса в корень убираем /../ в путях:
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/config/web.php');
(new yii\\web\\Application($config))->run();
Также в файле assets/AppAsset.php нужно изменить путь к стилям с 'css/site.css' на 'web/css/site.css'.
Включение красивых URL
Создайте файл .htaccess в корне приложения:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# Если файл или директория не существует — перейти на index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
В файле config/web.php добавьте конфигурацию urlManager:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'/' => '/site/index',
'/about' => '/site/about',
],
],
Дополнительная информация о роутинге доступна в официальной документации Yii на GitHub.