Yii2 як прибрати web з адреси URL

  • Останнє оновлення: 3 Листопада 2023 р.
  • Перегляди: 252
  • Автор: Адмін
Yii2 як прибрати web з адреси URL

Колеги всім привіт.

У сьогоднішній невеликій статті я вам покажу як можна прибрати з адреси web в yii2. Відразу після встановлення вашого сайту він доступний за адресою yii2/web, тому що саме в директорії web знаходиться вся публічна частина вашого сайту. Якщо ми просто перейдемо в корінь сайту, то ми побачимо список кореневої папки. Давайте зробимо так, щоб головна сторінка сайту була доступна при зверненні до доменного імені, без додавання директорії web.

 

yii2_delete_web

Ну такий варіант нам точно не підходить.


 

Перше, щоб зробимо, це перейдемо до конфігураційного файлу сайту під назвою web.php і дещо в ньому виправимо.

1. Знайдіть у цьому файлі параметр під назвою  urlManager, він у вас буде за промовчанням закоментований. А нам треба навпаки його розкоментувати.

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
    ],
],

yii2_delete_web

 

2. Знайдіть у цьому ж файлі параметр під назвою request, і нам потрібно до нього додати:

 'baseUrl'=> '',

yii2_delete_web

Все, з конфігураційним файлом ми закінчили.


 

Наступним крокам нам потрібно створити два файли  .htaccess. Цей файл відповідає за керування самого веб-сервера apache або nginx.

Перший файл .htaccess нам потрібно створити самої директорії web, і додаємо в нього:

RewriteEngine On RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

yii2_delete_web

 

Другий файл .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

yii2_delete_web


 

Ось і все, тепер коли ви будете заходити на сайт, в адресному рядку вже не буде web.

yii2_delete_web


 

Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.

СХОЖІ СТАТТІ

YII2 defaultRoute - Як змінити контролер за замовчуванням у шаблоні

YII2 defaultRoute - Як змінити контролер за замовчуванням у шаблоні

Панель пошуку на чистому HTML/CSS

Панель пошуку на чистому HTML/CSS

HTML/CSS - Розгорнута анімація панелі пошуку

HTML/CSS - Розгорнута анімація панелі пошуку