Как добавить обработчик URL-адреса для статической html-страницы в app.yaml, работающем по угловой аппликации - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь настроить статическую HTML-страницу, которая будет отображаться после того, как пользователь отписался от рассылки. Этот файл должен находиться в том же Google App Engine, что и мое основное приложение Angular 7. Но при посещении URL https://MYURL/unsubscribe я получаю ошибку 404. Как мне настроить мой app.yaml, чтобы эта функциональность работала?

runtime: python27
api_version: 1
threadsafe: true

service: XXX

handlers:
  # handler for static unsubscribe page
  - url: /unsubscribe\.html
    static_files: unsubscribe.html
    upload: unsubscribe.html

  - url: /
    secure: always
    static_files: dist/index.html
    upload: dist/.*
  - url: /(.*\.js)
    secure: always
    redirect_http_response_code: 301
    static_files: dist/\1
    upload: dist/.*\.js
  - url: /(.*\.css)
    secure: always
    redirect_http_response_code: 301
    static_files: dist/\1
    mime_type: text/css
    upload: dist/.*\.css
  - url: /.*
    secure: always
    static_files: dist/index.html
    upload: dist/.*

skip_files:
  - ^(?!dist)
  - ^(?!unsubscribe.html)

Я ожидаю увидеть содержимое моего файла unsubscribe.html при переходе на https://MYURL/unsubscribe, но вместо этого я получаю сообщение об ошибке Error: Not Found The requested URL /unsubscribe.html was not found on this server.

UPDATE

Наконец исправил это, объединив две последние строки моего app.yaml файла следующим образом:

skip_files:
  - ^(?!dist|unsubscribe.html)

Теперь работает как положено.

1 Ответ

0 голосов
/ 25 июня 2019

Используйте angular.json для настройки вашего HTML-файла в качестве ресурса:

{
   "assets": [
       "src/unsubscribe.html",
   ],
}

Приведенный выше файл обрабатывается так же, как и другие ресурсы (изображения и таблицы стилей), доступные непосредственно.

...