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 
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