Если при переходе по адресу сайта, сделанного на Laravel, происходит переход на /public, или же напротив, сайт не работает (наблюдается ошибка 404), пока к его адресу не будет добавлена /public (например,
h1n.ru/public), то исправить это можно по нашей инструкции.
Вариант 1 - использование .htaccess
Как правило, сам Laravel устанавливается в корень сайта, однако его веб-составляющая (а именно обработчик запросов) находится в папке /public, в связи с чем, после перехода на сайт, он откроется в папке /public. Для этого нужно внести некоторые изменения в файл .htaccess в корне сайта. Если файла нет, то его нужно создать. Если он существует, то сразу приступайте к пункту с редактированием.
Для создания файла, если его нет, откройте менеджер файлов в папке сайта, куда был установлен Laravel, нажмите на "создать файл или папку":
Создайте файл с именем
.htaccess:
Откройте
.htaccess в редакторе файлов и вставьте туда следующий код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !/public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Сохраните файл, затем очистите кэш браузера и перейдите по адресу сайта - перед Вами откроется web-интерфейс Laravel.
Для работы этого кода требуется поддержка .htaccess (работа под веб-сервером Apache) и mod_rewrite. Всё это доступно на нашем хостинге и работает без каких-либо проблем.
Вариант 2 - пересоздание Сайта на услуге и изменение корневой директории
В списке Ваших
услуг хостинга выберите нужную услугу, где установлен сайт, и перейдите в раздел Сайты
Если в директории сайта нет папки public, значит нужно её туда добавить. Сделать это простым изменением нельзя, поэтому нужно удалить сайт, но при этом, не удалять его содержимое. Нажмите кнопку
Удалить на выбранном сайте и снимите галочку с удаления данных:
После удаления, создайте сайт снова, но в директории сайта добавьте
/public к подставленному значению, чтобы получилось так:
Создайте сайт и проверьте его работу - откроется интерфейс Laravel: