Redirects.yaml upload error

When uploading redirects.yaml into Labs, I get “upload failed” with the error [object Object]. It doesn’t tell me much. The entire redirects.yaml is below. Any ideas what’s going on?

301:
  /privacy-policy/: /privacy/
  /blog/2015/08/an-instagram-scavenger-hunt-for-free-art-in-atlanta/: /blog/2015/08/an-instagram-scavenger-hunt-for-free-art-friday-in-atlanta/
  /blog/2021/04/avoid-nonprofit-obscurity-with-a-great-story/: /blog/2021/04/nonprofit-marketing-requires-telling-great-stories/
  /blog/2021/02/let-it-soak-????/: /blog/2021/02/let-it-soak/
  /blog/2021/02/plant-a-seed-or-two-????/: /blog/2021/02/plant-a-seed-or-two/
  /blog/2021/06/write-now-with-dave-shapiro/: /blog/2021/06/write-now-with-david-a-shapiro/

302:
  /.well-known/webfinger: https://beige.party/.well-known/webfinger?resource=acct:justin@beige.party
  

The issue with your redirects.yaml are the two URLs containing ????.

In URLs, the ? character is reserved as it is used to indicate the start of a query string.

However, there’s a simple workaround: just encode the ? to something that can be interpreted by the server. The proper encoding would be %3F.

Here’s the encoded version of the redirects.yaml – tested it on one of my Ghost instances and it’s uploading and redirecting correctly :slight_smile:

301:
  /privacy-policy/: /privacy/
  /blog/2015/08/an-instagram-scavenger-hunt-for-free-art-in-atlanta/: /blog/2015/08/an-instagram-scavenger-hunt-for-free-art-friday-in-atlanta/
  /blog/2021/04/avoid-nonprofit-obscurity-with-a-great-story/: /blog/2021/04/nonprofit-marketing-requires-telling-great-stories/
  /blog/2021/02/let-it-soak-%3F%3F%3F%3F/: /blog/2021/02/let-it-soak/
  /blog/2021/02/plant-a-seed-or-two-%3F%3F%3F%3F/: /blog/2021/02/plant-a-seed-or-two/
  /blog/2021/06/write-now-with-dave-shapiro/: /blog/2021/06/write-now-with-david-a-shapiro/

302:
  /.well-known/webfinger: https://beige.party/.well-known/webfinger?resource=acct:justin@beige.party