@hades432

Почему не подключается не один файл, не работают роуты в laravel?

Сделал проект на laravel, залил на хостинг
Но на хостиге не стилей, не работают подключения js, не работают роуты. Например, в web.php есть роут:
Route::get('/', [Main\Theory\IndexController::class, '__invoke'])->name('theories');

При переходе по ссылке вижу:
Not Found
The requested URL was not found on this server.
Все роуты в файлах были прописаны как:
{{ route('name') }}
Все подключения как:
{{ asset('name') }}
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 3
@sequelone
В любой непонятной ситуации надо чистить кэш. Решает 99% проблем) В терминале надо ввести команду:

php artisan optimize:clear

Обновит сразу всё от кэша до роутов.
Ответ написан
@X110111
Потому что DocumentRoot в настройках сервера указывает не на public.
Ответ написан
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Какая у вас структура файлов на хостинге?
Полагаю, что-то вроде такого

~/
 ----/site.com
     ----/public_html


Вам нужно разместить свой проект ларавел в папке site.com, а публичную папку в самом ларавель перемаппить на public_html (по умолчанию она должна называться public)

Для этого в app/Providers/AppServiceProvider.php добавьте строку

class AppServiceProvider extends ServiceProvider
{
    public function register(): void
    {
        $this->app->usePublicPath(base_path('public_html'));
    }
}


Все содержимое из дефолтной public перенести в pablic_html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы