В конфигурации хостинга Firebase, как мне написать правило для перенаправления всех источников, кроме одного, при захвате сегмента URL? - PullRequest
1 голос
/ 27 марта 2019

При настройке проекта хостинга Firebase я бы хотел перенаправить все запросы, кроме одного, в другой домен и сохранить сегмент URL в перенаправлении.Например, example.com/page должен перенаправить на www.example.com/page, а все, что начинается с example.com/ignore, не должно перенаправляться.

В firebase.json я написал это правило для перенаправления любого запроса, не находящегося в пути игнорирования:

"redirects": [
      {
        "source": "/!(ignore)",
        "destination": "https://www.example.com/",
        "type": 302
      }
    ]

Это перенаправление работает, однако я хочу захватить любые сегменты URL в перенаправлении.Я пытаюсь следовать примеру из их документов, где :post* - это сегмент URL, который я хочу сохранить, но я не знаю, как записать его в правила перенаправления.

"hosting": {
  // ...

  "redirects": [ {
    "source": "/blog/:post*",  // captures the entire URL segment beginning at "post"
    "destination": "https://blog.myapp.com/:post", // includes the entire URL segment identified and captured by the "source" value
    "type": 301
  }

Я также попробовал следующее, которое работает для захвата сегмента URL в перенаправлении, но также перенаправляет мой игнорируемый путь.

"redirects": [
      {
        "source": "/:path*",
        "destination": "https://www.example.com/:path",
        "type": 302
      }
    ]

Я также пробовал вышефрагмент с папкой игнорирования, добавленной к правилам игнорирования, и это тоже не сработало.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**",
      "**/ignore/**"
    ],
...
}

Я хотел бы иметь возможность написать шаблон glob для захвата любого пути, который не совпадает с путем игнорирования, ииспользуйте это в перенаправлении, что-то вроде:

"source": "/!(ignore)**path**,
"destination: "https://www.example.com/**path**",
"type": 302
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...