RedirectDuck supports four redirect status codes: 301, 302, 307 and 308. You choose the code on each redirect rule.
Two questions help you choose: will the old address be used again, and does the request method need to stay the same?
The four choices
| Code | Meaning | Request method |
|---|---|---|
| 301 | Permanent move | A client may change POST to GET when following it. |
| 302 | Temporary move | A client may change POST to GET when following it. |
| 307 | Temporary move | A client following it must preserve the method. |
| 308 | Permanent move | A client following it must preserve the method. |
These distinctions come from the HTTP specification, RFC 9110.
Choose the rule for the request you expect
For a normal page move, a 301 is a common choice. Use a temporary code when the old address is expected to return.
For a form or API receiving POST requests, consider 307 or 308 when the destination needs the same method and body. Test the actual client: its redirect and authentication behavior also matters.
Set it in RedirectDuck
New RedirectDuck rules default to 301. Open the rule editor to choose another code. The selection belongs to that rule, so you can use different codes for different paths on one domain.
The destination, path forwarding and query forwarding are separate options. Check them together: the right code will not fix a destination that points to the wrong page.
For example, an old documentation path can have its own permanent rule while a short-lived campaign path uses a temporary rule on the same domain.
Test before keeping a permanent rule
A browser or cache may retain a permanent redirect. Check the destination and response before sharing the old URL widely. If you are still evaluating a move, start with a temporary rule and test again when you change it.
The documentation covers rule setup. Keep a short list of representative URLs so you can repeat the same checks after an edit.




