Вариант 1. Используйте .htaccess
Если его еще нет, создайте файл .htaccess в корневом каталоге Laravel. Создайте .htaccess
файл в корневом каталоге Laravel, если он еще не существует. (Обычно он находится в вашей public_html
папке)
Отредактируйте файл .htaccess, чтобы он содержал следующий код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Теперь у вас должна быть возможность получить доступ к веб-сайту без части «/public/index.php/».
Вариант 2: переместите вещи из каталога / public в корневой каталог
Создайте новую папку в корневом каталоге и переместите все файлы и папки, кроме общей. Вы можете называть это как хотите. Я буду использовать "laravel_code".
Затем переместите все из общего каталога в корневую папку. Это должно привести к чему-то похожему на это:
После этого все, что нам нужно сделать, это отредактировать местоположения в laravel_code/bootstrap/paths.php
файле и index.php
файле.
В laravel_code/bootstrap/paths.php
найти следующую строку кода:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',
И измените их на:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../../',
В index.php
, найти такие строки:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
И измените их на:
require __DIR__.'/laravel_code/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_code/bootstrap/start.php';
Источник: Как удалить / public / из URL-адреса в Laravel
mod_rewrite
он включен.