Redirect that could work for any query string?

0

{
"source": "/old/path?<qry>",
"target": "/new/path/?<qry>",
"status": "301",
"condition": null
}

Why doesn't this work?

Edited by: WD40erik on Jul 9, 2019 6:57 PM

已提问 5 年前524 查看次数
2 回答
0
已接受的回答

The redirect query string can contain multiple parameters but cannot be formatted as a single string param like you've listed there. Additionally, the target currently only supports path based URL's when using query strings (like those used with SPA routing frameworks, aka react-router, angular-router, etc).

The following are valid redirects (the names are arbitrary):

/docs?id=<idValue>
/documents/<idValue>

/docs?id=<idValue>&nextId=<nextIdValue>&finalId=<finalIdValue>
/documents/<idValue>/<nextIdValue>/<finalIdValue>

etc...

Note that if any target is not a valid path within your app, the default redirect rule will redirect all invalid requests back to root.

已回答 5 年前
0

Hi WD40erik,

I have the same issue with multiple environments using GitFlow.

We have qa.example.com and dev.example.com with zero code changes between the two. However, qa.example.com was deployed 3 days before dev.example.com and qa works as I expect.

When navigating to /dashboard and /dashboard/, with or without a trailing slash on qa it works fine and renders the page. If you navigate to the dev subdomain without a trailing slash, /dashboard it redirects to /dashboard/ with the appended trailing slash and removes any query parameters.

This is super frustrating as there are no differences between the codebases and there are no rewrites and redirects rules set for the app. My only guess is that AWS Amplify Console changed its default routing/redirects within the past week or so. Hence qa subdomain was not affected, since it was deployed a few days earlier, and dev subdomain was affected by some Amplify Console code change.

已回答 5 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则