in reply to Multiple Pages with CGI
I'd like to suggest that $ENV{PATH_INFO} may be a good way to pass a unique page name to your script, and end you up with a more friendly set of URIs as a bonus.
For example, In the url http://example.com/index.cgi/foo/bar the PATH_INFO is the /foo/bar part, the part that appears after the script that your server chooses.
This makes for lovely bookmarkable pages, because it's just a string at the end of the filename, and that you can use form variables for ther things, because /index.cgi/foo/bar?user_action=update_cart has the 2 parts still, the first being PATH_INFO, the second being the GET (QUERY_INFO) variables that are accessible via CGI.pm's param method.
Also, if your script is set up as the directory index, you don't need to list it there at all, and my uri of http://example.com/index.cgi/foo/bar becomes http://example.com/foo/bar because the '' after the domain name is expanded to index.cgi by the webserver.
It's so sneaky that nobody will ever suspect that you're using dynamic content.
keep in mind that with any of these approaches, you have to make sure that you send sensible modification headers, expire dates and content types otherwise you risk confusing proxy/cache servers...
|
|---|