The redirect rule starts at the old path.

highlighted = computed this step

The rule starts at /old

The rule row and request row both name /old.

rule from=/old\text{rule from}=\text{/old}
Redirect rule matchThe redirect rule and response check are recomputed from pinned bytes.Redirect rule match - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body

The request path matches the rule

Because the request path matches the rule's from path, the redirect rule applies.

/old matches /old\text{/old matches /old}
Redirect rule matchThe redirect rule and response check are recomputed from pinned bytes.Redirect rule match - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body

The rule target is /new

The rule's to row gives the next path that the response should name.

rule to=/new\text{rule to}=\text{/new}
Redirect rule matchThe redirect rule and response check are recomputed from pinned bytes.Redirect rule match - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body

Summary

The redirect rule turns the old path into the new path.

rule selects next path\text{rule selects next path}
Redirect rule matchThe redirect rule and response check are recomputed from pinned bytes.Redirect rule match - /old -> /new with 302 Found, body 0 bytessectionnamevaluecheckrequest linemethodGETparsedrequest linepath/oldold pathrequest lineversionHTTP/1.1parsedheaderHostdocs.exampleexactheaderAccepttext/htmlexactredirect rulefrom/oldrequest pathredirect ruleto/newnext pathstatusversionHTTP/1.1parsedstatusstatus302 FoundredirectheaderLocation/newnext pathheaderContent-Length0no bodycheckrequest path/oldmatched rulechecknext path/newfrom Locationchecksent body bytes0empty body