Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url

Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url Рассмотрим этапы переноса и настройки фреймворка Yii и нашего разрабатываемого сайта на сервере хостинга. Настроим локальную и серверную конфигурации разработки, избавимся от присутствия index.php в адресной строке браузера.

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

Видеоскринкаст (можно скачать yii-course-from-loco-2.mp4.zip):

1) Закачиваем папку с фреймворком YiiRoot и папку с сайтом 'blog' на сервер в корень.

2) Привязываем ваше доменное имя к папке 'blog' (измените на своё, которое захотите, я переназвал его в 'enesy').

3) Тут же вставляем в корневой .htaccess такой код:

AddDefaultCharset utf-8

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on

# 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_value post_max_size 10M
php_value upload_max_filesize 10M
php_value max_execution_time 200
php_value max_input_time 200

### force www
   RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
   RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
   RewriteBase /
Здесь устанавливается кодировка в UTF-8, переводятся все запросы к index.php (именно в нём прописаны ссылки на фреймворк и конфигурацию нашего сайта), ограничения на размер файла, загружаемого на сервер, на время исполнения, и в самом конце 3 строки – склейка домена с www. и без www (необходимо для лучшего продвижения).
 
4) В том самом index.php (лежащем в корне папки enesy) сразу разветвляем конфигурацию на локальную и серверную разработку (подробнее читайте нашу статью про настройку 2-х конфигураций):
<?php

if($_SERVER['REQUEST_URI'] == "/index.php") {
header("Location: /",TRUE,301);
exit();
}

if($_SERVER['HTTP_HOST']=='enesy:8888'){
defined('YII_DEBUG') or define('YII_DEBUG',true);
$yii=dirname(__FILE__).'/../YiiRoot/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/local_main.php';
}

else {
define('YII_DEBUG', false);
$yii=dirname(__FILE__).'/../YiiRoot/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/server_main.php';
define('YII_ENABLE_ERROR_HANDLER', false);
//define('YII_ENABLE_EXCEPTION_HANDLER', false);
}
require_once($yii);
$app = Yii::createWebApplication($config);
$app->run();
5) В конфигурационном файле config/main.php среди компонентов (components) в urlManager дописываем 'showScriptName'=>false (об этом статья "Как избавиться от index.php в адресе?")
 
6) Создаём в папке config 2 файла: local_main.php
<?php
return CMap::mergeArray(
    require(dirname(__FILE__).'/main.php'),
    array(
        'components'=>array(
            'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=your_database_name',
'emulatePrepare' => true,
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'tablePrefix' => 'tbl_',
),
        ),
    )
);
и server_main.php
<?php
return CMap::mergeArray(
    require(dirname(__FILE__).'/main.php'),
    array()
);
Пока на этом всё.
 

 

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:
  1. 14 Разработка приложения на Yii. Урок 14: Выводим список категорий как новый виджет на сайте (29.04.2015) free
  2. 13 Разработка приложения на Yii. Урок 13: Внедряем категории для статей. (29.04.2015) free
  3. 12 Разработка приложения на Yii. Урок 12: Профилирование приложения, включаем кеширование. (20.01.2015)
  4. 11 Yiico. Видеокурс по разработке сайта на Yii. Урок 11: Отладка приложения, включаем журналирование. (20.01.2015)
  5. 10 Yiico. Видеокурс по разработке сайта на Yii. Урок 10: Если ваше приложение находится не в корневой папке, а во вложенной. (19.10.2014) free
  6. 9 Разработка сайта на Yii с нуля. Урок 9. Выборка статей определённого автора. (13.08.2014) free
  7. 8 Разработка сайта на Yii с нуля. Урок 8. Вызов в моделях функции, общей для них. Как избегать дублирования кода? (25.07.2014) free
  8. 7 Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii. (04.09.2013) free
  9. 6 Разработка сайта на Yii с нуля. Урок 6. Автоматич. отправка оповещений об одобренных комментариях на email автора комментария (11.08.2013) free
  10. 5 Разработка сайта на Yii с нуля. Урок 5. Переименовываем blog в yiico. Изменяем "Home" в breadcrumbs. Включаем Gzip-сжатие. (09.08.2013) free
  11. 4 Курс по Yii с нуля. Урок 4. Дорабатываем простую работу с пользователями: хранение пароля при редактировании пользователя. (13.04.2013) free
  12. 3 Курс по Yii с нуля. Урок 3. Создаём новых пользователей. Организуем простую систему авторизации. Аутентификация, пароли, соли. (20.07.2014) free
  13. 2 Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url (09.07.2014) ← вы тут free
  14. 1 Курс по Yii с нуля. Урок 1. Устанавливаем Yii на локальном компьютере. Заводим проект будущего сайта. (10.03.2013) free

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.