Контроллер представления модели нарушает мои ссылки на таблицу стилей

#css #model-view-controller #restful-authentication

#css #model-view-controller #restful-аутентификация

Вопрос:

Я пытаюсь создать веб-сайт с помощью Bootstrap Studio и использую контроллер представления модели с RESTful API в качестве промежуточного программного обеспечения. Когда я тестирую свой HTML-файл для внешнего интерфейса локально, в его папке, он загружается, как и ожидалось. Однако, когда я сохраняю его в папке XAmpp и пытаюсь загрузить страницу в виде представления через индексную страницу, она прерывается, и я получаю эту ошибку в консоли: «ПОЛУЧИТЬ http://localhost/assets/bootstrap/js/bootstrap.min.js net::ОШИБКА_АБОРТИРОВАНА 404 (Не найдена)»

Я попытался переместить папку assets в свою папку view, я попытался изменить путь к файлу в моем HTML при загрузке файлов CSS. Я также добавил ‘type = «text / css»‘, поскольку это вызывало другую проблему. Я пытался найти ответ для себя и прочитал, что из-за промежуточного программного обеспечения он пытается авторизовать CSS на странице, которая также пытается получить авторизацию? Однако поток не предложил решения или обходного пути…

файл .htmacces

     RewriteEngine On
    RewriteRule ^([^/] )/? index.php?url=$1 [L,QSA]
  

Пример вызова CSS

     <link rel="stylesheet" type = "text/css" href="../assets/fonts/font-awesome.min.css">
  

Все работает так, как ожидалось, пока я не попытаюсь загрузить страницу через модель MVC, которая перенаправляет все запросы на мою индексную страницу, а затем загружает представление в зависимости от того, какой URL-адрес прикреплен.

Комментарии:

1. Итак, изучаем это дальше… он увидит, что мне нужно добавить маршрутизацию для статической папки, в которой находятся все мои ресурсы. В настоящее время я могу это сделать app.get('/', function(req, res){ res.sendFile(__dirname '/bin/index.html'); , однако я не совсем уверен, куда это добавить или как работает синтаксис… Все ближе !! : D

2. Предположим, что структура вашей файловой системы выглядит примерно так /path/to/public/assets/... , тогда вы должны написать свои ссылки на ресурсы на стороне клиента следующим образом: <link href="/assets/fonts/font-awesome.min.css" ...> и это: <img src="/assets/images/logo.png"... /> и это: <script src="/assets/js/custom.js" ...></script> .

3. В качестве альтернативы, в файле конфигурации вашего веб-сервера вы можете определить псевдоним для своей assets папки, например: Alias "/assets/" "/path/to/assets/" <Directory "/path/to/assets">Require all granted</Directory> . Затем в вашем mvc вы получите доступ к своим ресурсам точно так, как я написал в предыдущем комментарии.