How would you configure/handle extraneous/optional URLs entities (aliases, maybe)?
SO is a good example:
- stackoverflow.com/questions/99999999/
- stackoverflow.com/questions/99999999/question-goes-here (bad example, but I couldn't think of better)
Amazon URLs are even more confusing (e.g., the Kindle)
- amazon.com/gp/product/B000FI73MA/
- amazon.com/Kindle-Amazons-Wireless-Reading-Device/dp/B000FI73MA/
[EDIT] This probably isn't the best plan-of-action, but I'm really asking this in general vs. for any single server.
This technique is commonly known as url rewriting. If you are looking out for a solution in IIS, you can use ISAPI rewrite, which is quite similar to mod_rewrite for apache. Or else, you can go for ASP.Net MVC routing mechanism.
If you use Apache, take a look at mod_rewrite
Something like this (if manually configuring URLs):
RewriteRule ^([^\/]+)\/([^\/]+)\/(.*) index.php?controller=$1&view=$2&args=$3
Otherwise I let the MVC framework handle it and taylor the controller's arguments as appropriate.
mod_rewrite is often used, at least under Linux with Apache.
That's a task for your web app, not your web server.
On URL=>file mappings, like PHP (or static webservers) it's tricky; but on MVC frameworks it's quite natural, even on PHP MVC frameworks.