We disregard the “preserved” params if the destination sends any query param in a response. So, it’s not about status_code
being the only one that’s dropped, we’re dropping url
too, but since the other server is sending the url
param, you’re seeing that. To verify, you can try visiting:
https://wonderful-selkie-849613.netlify.app/redirect-to?url=https%3A%2F%2Fexample.com%2F%3Furl2%3Dexample2.com&status_code=303
Now you’ll see url2
as the query param on the final URL.
Regarding the guide talking about 3xx, I think you misunderstood/misread. There was one key line:
So we were always doing this for the 200 rewrite, which you’re using. Based on that guide, we just started doing it for 3xx as well.
The change, if made now could break the workflows of various websites that might be relying on this behaviour. The ideal way, I believe would be to add a configuration option. If that sounds okay to you, I can add that as a feature request. If you feel differently, let us know.