#html #browser
#HTML #браузер
Вопрос:
Может быть, я просто неправильно понял всю эту идею, поэтому давайте проверим это. У меня есть следующий HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<base href="/xyz">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<app-root></app-root>
<script src="runtime.js" defer=""></script><script src="polyfills.js" defer=""></script><script src="main.js" defer=""></script></body>
</html>
Теперь, когда я пытаюсь загрузить это в браузере со следующим URL: http://localhost:8080/xyz
он загружает index.html но для всех ресурсов (стилей и файлов javascript) Я получаю 404
Я ожидал бы, поскольку у меня есть этот базовый href=»/xyz», что он будет префиксом для всех URL-адресов ресурсов с этим URL, но, как вы можете видеть, это не так.
Для полноты картины, вот моя файловая структура:
./server.js
./xyz/index.html
styles.css
.....
Таким образом, сервер обслуживает все файлы из пути / xyz
Ответ №1:
Относительные пути разрешаются путем использования базового URL ( http://localhost:8080/xyz
), удаления всего после последнего /
в пути (что дает вам http://localhost:8080/
), а затем добавления нового пути ( http://localhost:8080/styles.css
).
Если вы хотите /xyz/styles.css
, вам нужно поставить a /
в конце вашего базового пути: <base href="/xyz/">
Комментарии:
1. хорошо, в этом есть смысл. Решение, в моем случае, состоит в том, чтобы установить базовую ссылку href на: .