Angular 6 маршрутов не найдены в Google App Engine - PullRequest
0 голосов
/ 15 ноября 2018

Я развернул приложение Angular 6 в Google App Engine.Конфигурация app.yaml выглядит следующим образом:

runtime: python27
api_version: 1
threadsafe: true

skip_files:
- (?!^dist)

handlers:
- url: /
  static_files: dist/index.html
  upload: dist/index.html

- url: /(.*)
  static_files: dist/\1
  upload: dist/(.*)

Все работает нормально, и я могу получить доступ ко всему, пока я не перезагрузлю страницу на маршруте или не получу прямой доступ к сайту по маршруту (например, myapp.com/route).При этом я получаю сообщение об ошибке The requested URL /route was not found on this server.

1 Ответ

0 голосов
/ 15 ноября 2018

Причина, по которой 404 Not Found отображается при обновлении страницы, заключается в том, что все маршруты Angular2 должны обслуживаться через файл index.html.

Эту проблему можно устранить, добавив файл .htaccess (в том же каталоге, где находится index.html) со следующим содержимым.

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . index.html [L]
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...