URL manipulations such as rewrites and redirects can be used to hide a website's internal structure, make URLs user-friendly, and handle legacy URLs. With rewriting, the server modifies the requested URL on-the-fly based on predefined rules before returning the content associated with the modified URL to the visitor. The original URL remains visible to the visitor. With redirecting, the server sends a response to the visitor's browser instructing it to request a different URL. The browser then requests the new URL and the visitor sees the page associated with the new URL.