
Сегодня хочу поделиться с вами секретом, как можно настроить корневой каталог вашего веб-сервера так, чтобы он указывал на public каталог проекта. И чтобы при этом, не отображалось слово public в адресной строке браузера вашего проекта работающего на платформе Laravel.
Чтобы нам сделать редирект корневого каталога веб-сервера на каталог public, а также удалить слово public из адресной строки, нам необходимо сделать 2 простых шага:
Первый способ
Переименовываем файл server.php
Первым шагом, нам необходимо найти файл server.php, (он расположен в корневой директории проекта Laravel) и переименовать его в index.php.
Обновляем .htaccess
Вторым шагом, необходимо перейти в папку public и скопировать файл .htaccess в корневую директорию проекта. После того как скопировали, необходимо открыть его редактором кода и очистить от всего содержимого что там находится. И уже в очищенный файл .htaccess вставить код следующего содержания:
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
После чего сохраняем, и проверяем проект на работоспособность.
Второй способ
Создаем файл .htaccess в корне сайта
Если первый вариант вам не подошел, то воспользуйтесь вторым вариантом. Для этого необходимо создать файл .htaccess в корневом каталоге вашего сайта на хостинге, и прописать следующий код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
После чего, все это дело необходимо сохранить.
На этом у меня все! Если у вас остались вопросы, то вы можете задать их в комментариях к данному посту.