Запис #30 "htaccess для YII2 basic."

Додано: 2016-11-20 18:05:22 'admin

Ось і я стикнувся із проблемою публікації проекту на сервері, де доступ до httpd.conf закритий. Але є можливість редагування .htaccess. 

Для того, щоб не переробляти проект і щоб викинути /web/ із запиту було зроблено наступне:

В app/config/web.php було додано порожню строку для значення 'baseUrl':

$config = [
 //... інші параметри...
 'components' => [
  //... інші компоненти...
  'request' => [
   //... інші параметри компонента request...
   'baseUrl' => ''
  ]
 ]
]

В htaccess було додано наступний код:

Options +FollowSymLinks
IndexIgnore */*

<IfModule mod_rewrite.c>
RewriteEngine on # Якщо запит не починається з web - додаємо його RewriteCond %{REQUEST_URI} !^/(web) RewriteRule ^assets/(.*)$ /web/assets/$1 [L] RewriteRule ^css/(.*)$ web/css/$1 [L] RewriteRule ^js/(.*)$ web/js/$1 [L] RewriteRule ^images/(.*)$ web/images/$1 [L] RewriteRule (.*) /web/$1 # Якщо файл або тека не існує - завантажується /web/index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /web/index.php
</IfModule>

 Звичайно ж, якщо будуть додаватись якісь нові теки у /web/, то для доступу до них необхідно прописувати шлях.

Коментарі: