Метод 1: использование файла.htaccess
Один из самых простых способов удалить «/public» из маршрутов Laravel — изменить файл.htaccess. Добавьте следующий код в файл.htaccess в общедоступном каталоге вашего проекта Laravel:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Метод 2: Конфигурация сервера (Apache)
Если у вас есть доступ к конфигурации сервера, вы можете настроить Apache так, чтобы он указывал непосредственно на общедоступный каталог. Откройте файл конфигурации виртуального хоста и измените директиву DocumentRoot, как показано ниже:
DocumentRoot /path/to/laravel/public
Метод 3: использование Laravel Homestead
Если вы используете Laravel Homestead, вы можете настроить виртуальный хост так, чтобы он указывал непосредственно на общедоступный каталог. Откройте файл Homestead.yamlи измените раздел сайтов следующим образом:
sites:
- map: yoursite.test
to: /home/vagrant/Code/your-laravel-project/public
Метод 4: использование Laravel Valet
Если вы используете Laravel Valet, вы можете создать символическую ссылку из каталога Valet на общедоступный каталог вашего проекта Laravel. Откройте терминал и перейдите в каталог Valet, затем выполните следующую команду:
ln -s /path/to/laravel/public yoursite
Метод 5: использование настраиваемой маршрутизации URL-адресов.
Вы можете создать собственную конфигурацию маршрутизации URL-адресов, чтобы удалить «/public» из URL-адреса. Откройте файл routes/web.phpв своем проекте Laravel и добавьте следующий код:
if (env('APP_ENV') === 'production') {
URL::forceRootUrl(config('app.url'));
}
Не забудьте выбрать метод, который соответствует конкретным потребностям и инфраструктуре вашего проекта. Приятного кодирования!