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

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南