in reply to Clean URLs and CGI.pm
I'm a clean URL fanatic, some would say to the point of
extremity. In fact, I would go so far as to say that,
apart from images and other unusual media, that sites
should not contain filename extensions at all.
The reason I despise extensions is that one day you have
a simple HTML page called "something.html", which you
later upgrade to, say, "something.phtml" when someone
decides to use PHP on it. Now every single link to that
page is broken, and has to be repaired or redirected.
Later, perhaps, the page is modified again, this time into
a CGI called "something.cgi" which breaks your links all over
again.
If you use Apache's MultiViews, it will figure out what you
mean without benefit of the extension. If you think this is
too slow, use Squid as a turbocharger, but for low-mid volume
sites it seems to work fine without any sort of accelerant.
I would even go so far as to specify a URL such as:
http://my.domain.com/script/1234
Which is about as basic as you can get. The '1234' will
be passed via CGI to your application which can process it
as you will. Further, you can make up your own format for
the URL data, without worrying about '&' or '?'. As long
as you use taint, and check carefully (as you should
anyways), then you may find this a lot simpler, especially
when many parameters make for an unwieldly URL.