#javascript #wordpress #url #angular
#javascript #wordpress #url #angular
Вопрос:
Я создаю тему WordPress с помощью angular, как описано здесь .
Это мой index.html который загружается WordPress ‘ index.php:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>TITLE</title>
<base href="/wp-content/themes/TITLE/dist/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root>Loading...</app-root>
</body>
</html>
Результат url:
http://HOST/wp-content/themes/TITLE/dist /#/ , но должно быть http://HOST /#/
Мне нужно установить тег в моем index.html чтобы позволить angular находить свои ресурсы. Есть ли способ скрыть часть /wp-content/themes/TITLE/dist перед /#/ из angulars HashLocationStrategy ?
Я бы предпочел скрыть его из настроек angular, но если необходима конфигурация WordPress в представлении администратора, это тоже было бы хорошо.
Комментарии:
1. Все, что находится перед
/#/
, используется сервером для поиска ресурса. Если вы хотите избавиться от этого, вам нужно настроить сервер для этого. Ничего общего с angular. Если вы хотите избавиться от самого#
себя, вам нужно настроить angular, и если вы хотите иметь возможность ссылаться на биты, которые понимает angular, вам нужно настроить оба.2. Но сервер уже знает, где найти мой index.html . Можно ли установить тег <base> из местоположения index.html ? Например, <base href=»./dist/»> И показывать только /dist/ в URL-адресе?
3. Базовый тег используется только браузером. Часть после имени хоста и перед
#
используется веб-сервером для поиска файла для обслуживания. Часть после#
традиционно используется для ссылки на определенное место на странице, поэтому она используется только браузером. Вы можете удалить части URL-адреса, используя такие методы, как перезапись URL, но это выходит за рамки моих знаний о PHP, поэтому я не дал прямого ответа.4. Хорошо, спасибо! Тогда я посмотрю на переписывание URL.