При размещении приложения Angular вы можете буквально взять содержимое папки dist
и поместить ее в папку htdocs
или www
.Ну, по крайней мере, в простейшем сценарии.
Хотя есть несколько предостережений.
Вышесказанное работает хорошо, когда вы хотите обслуживать его самостоятельно, в корне вашего сервера.
Если вы размещаете приложение Angular из подпапки, вам нужно изменить базовый URL-адрес приложения, изменив эту строку в файле index.html:
<base href="/path/to/folder/">
Также,если вы этого еще не сделали, вам нужно правильно настроить CORS для бэкэнда PHP.
Наконец, вам нужно позаботиться о маршрутизации.Это требует записи в файле .htaccess
для маршрутизации следующим образом:
- Любой путь, который должен идти к приложению Angular, должен направлять его к
index.html
. - Все JavaScript, CSSФайлы шрифтов и изображений должны маршрутизироваться в обычном режиме.
- Файлы PHP должны по-прежнему маршрутизироваться в обычном режиме, предпочтительно во вложенную папку, чтобы обеспечить чистоту.Мне нравится использовать
/api
для этого.
Например, у меня есть PHP-бэкэнд, который находится в папке /api
, и приложение Angular, которое я обслуживаю из корня.
Итак, на моем сервере, в папке www
, у меня есть index.html
и различные файлы JavaScrpit.Файлы PHP находятся под www/api
, а маршрутизация .htaccess
обеспечивает маршрутизацию всех вызовов API на /www/api
, всех JavaScript, изображений, шрифтов и стилей на то место, где они находятся, и на любой другой путь к /www/index.html
.
Вот в чем суть.Пока .htaccess
и ваша настройка CORS верна, у вас не должно быть проблем.
Редактировать
На основании вашего обновления, показывающего 404 ошибки, я быскажем, ваша главная проблема - маршрутизация в .htaccess
.Посмотрите переписывание URL для Apache.
Редактировать
Этот ответ показывает простую настройку .htaccess
, которая, вероятно, должна работать, если вы установите вкорень вашего сайта.Даже если она не полная для вас, это хорошее место для начала.