Yii2 як прибрати web з адреси URL
- Останнє оновлення: 3 Листопада 2023 р.
- Перегляди: 252
- Автор: Адмін
Колеги всім привіт.
У сьогоднішній невеликій статті я вам покажу як можна прибрати з адреси web в yii2. Відразу після встановлення вашого сайту він доступний за адресою yii2/web, тому що саме в директорії web знаходиться вся публічна частина вашого сайту. Якщо ми просто перейдемо в корінь сайту, то ми побачимо список кореневої папки. Давайте зробимо так, щоб головна сторінка сайту була доступна при зверненні до доменного імені, без додавання директорії web.
Ну такий варіант нам точно не підходить.
Перше, щоб зробимо, це перейдемо до конфігураційного файлу сайту під назвою web.php і дещо в ньому виправимо.
1. Знайдіть у цьому файлі параметр під назвою urlManager, він у вас буде за промовчанням закоментований. А нам треба навпаки його розкоментувати.
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
2. Знайдіть у цьому ж файлі параметр під назвою request, і нам потрібно до нього додати:
'baseUrl'=> '',
Все, з конфігураційним файлом ми закінчили.
Наступним крокам нам потрібно створити два файли .htaccess. Цей файл відповідає за керування самого веб-сервера apache або nginx.
Перший файл .htaccess нам потрібно створити самої директорії web, і додаємо в нього:
RewriteEngine On RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Другий файл .htaccess нам потрібно створити в корені сайту, і додаємо до нього:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
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
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
Ось і все, тепер коли ви будете заходити на сайт, в адресному рядку вже не буде web.
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.