Главная/Статьи/Запускаем своё первое приложение с YII на обычном хостинге
Yii2

Запускаем своё первое приложение с YII на обычном хостинге

Начать разработку на 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.