Проблема с URL-адресом проекта Angular, запущенным на сервере Apache - PullRequest
0 голосов
/ 20 февраля 2020

Послушайте, я не знаю, хорошо ли я выразил себя в названии, но здесь все идет.

Я сделал приложение angular, которое клиенты могут покупать планы тренажерного зала через мой сайт. Итак, я разработал схему маршрутизации, в которой первым в URL-адресе является идентификатор тренажерного зала (восстановленный из моей базы данных), а затем «/plans".

Пример: localhost:4200/000162/plans

проблема, я сделал сборку моего проекта, и структура папок выглядит как dist/__projectName__/__projectContent__.

С помощью команды ng build --prod --base-href /vysor_vendas_online/app/

Затем я поместил весь projectContent в папку моего сервера Apache по пути www/vysor_vendas_online/app/ и попытался запустить его в своем браузере.

localhost:8080/vysor_vendas_online/app/index.html?000162/plans но ничего не происходит, он остается на белом экране без ошибок консоли, но когда я пытаюсь с Angular server localhost:4200/000162/plans, он работает.

Что я здесь не так делаю? Как мне получить доступ к маршрутам, которые я указал в своем коде?

1 Ответ

0 голосов
/ 20 февраля 2020

в качестве официального развертывания do c сказал

Маршрутизированные приложения должны откат к индексу. html

Apache: добавьте правило перезаписи в файл .htaccess, как показано (https://ngmilk.rocks/2015/03/09/angularjs-html5-mode-or-pretty-urls-on-apache-using-htaccess/):

RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]

# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...