Запросы в подкаталоге корня документа возвращают 404

Я установил корень документа моего файла конфигурации виртуального хоста apache в общедоступный каталог laravel. У меня есть приложение angular 4, которое встроено в каталог public/dashboard-dist. Я добавил этот каталог в качестве места для поиска представлений config/view.php следующим образом:

'paths' => [
    resource_path('views'),
    public_path('dashboard-dist'),
],

И я могу перенаправить пользователя на файл dashboard-index.php в этом каталоге после успешного входа в систему. Но все ссылки на активы в этом файле (js, css и т. д.) не загружаются и возвращают 404. Например, bootstrap.min.css происходит из:

http://localhost/assets/css/bootstrap.min.css (404)

Когда я изменяю атрибут href этого файла как:

<link href="/dashboard-dist/assets/css/bootstrap.min.css" rel="stylesheet" />

Я получаю 200, и файл загружается. Но я не хочу менять все URL-адреса в этом приложении angular 4 и вместо этого иметь единую конфигурацию сервера, чтобы установить для себя корень документа подкаталога. Я бы предпочел использовать .htaccess в общем каталоге, чтобы сделать это, поэтому, когда я загружаю сайт на реальный сервер, он будет работать из коробки. Как я могу этого добиться?


person moonwalker    schedule 30.05.2018    source источник


Ответы (1)


Лучшим решением проблемы такого типа является запуск:

ng build --base-href /dashboard-dist/ 

для создания углового приложения. Это добавит

<base href="/dashboard-dist/">

на панель инструментов сборки-index.php, и все ссылки на активы теперь будут работать.

person moonwalker    schedule 31.05.2018