I’m trying to understand the benefits of using a URL routing (URL dispatch) over just running code from different scripts. Besides prettier urls (which can be accomplished via htaccess using either model), why would I direct /archive/ to dispatcher.php?path=/archive/ instead of, say, simply rewriting /*/ to *.php? Is either one better in terms of code reuse? Organization? Error handling?
Have you ever switched from one model to the other? Why did you do so? How much work did the switch entail?
For context, I am currently using the multiple script method. The environment is Apache + PHP. It is a medium size project (40+ top level php pages).
One major advantage of routing is that you can do so conditionally, making decisions on where addresses route based on user data, session values, time of day, or whatever. Most of my projects are too simple to use this method, but if you get into a more complex system, I think the having control over routing in the code gives you some extra power and options.