Как удалить public из адреса

Remove PUBLIC from Laravel URL

Используете виртуальный хостинг и видите слово 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
Перевод: Алексей Широков

Наш Телеграм-канал — следите за новостями о Laravel.