Используете виртуальный хостинг и видите слово public в адресах вашего проекта на Laravel? Расскажу, как от него избавиться.

У меня у самого возникли проблемы с Laravel, когда мне пришлось загрузить проект на хостинг godaddy. Я удаляю public из URL, используя файлы .htaccess и server.php. Всего нужно два простых шага.

Шаг 1: Переименовываем файл

Нужно переименовать server.php в index.php в корневой директории laravel.

Шаг 2: Обновляем .htaccess

Просто скопируете файл .htaccess из папки public в корневую директорию проекта, и обновите его как показано ниже:

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]

Всё! Теперь можете запускать и проверять!

Автор: HDTuto
Перевод: Demiurge Ash

Источник: laravel.demiart.ru