Скрыть базовый путь перед # в url в Angular

#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.