in reply to Re: How do I create friendlier URLS?
in thread How do I create friendlier URLS?
I especially enjoy this aspect of Mason. Not the reason I'm using it, and I'm not sure the overhead would be worth it for just this feature, but it's worth a look.
Mason does this by jumping in and handling certain URLs, then parsing them to try and find the best match for the request. No need to state parameters explicitly with a ? or reveal the handler's name in the URL. It can even be configured in a local .htaccess file if you're working with apache in an environment where you don't have access to the httpd.conf.
Assuming apache, here's an example .htaccess:
order allow,deny allow from all Options -Indexes -ExecCGI #Server root relevant path to handler script Action my-handler /test/my_handler.pl SetHandler my-handler AddHandler default-handler .html .gif .jpg .png <FilesMatch "my_handler.pl$"> Options +ExecCGI SetHandler cgi-script </FilesMatch>
And an example my_handler.pl- not very useful as is, but dispatch with your new parameters as you like:
#!/usr/bin/perl -wT use strict; print "Content-type: text/html\n\n"; print "<p>Request_URI contained: " . join( ' ', map {"[$_]"} split '/' +, $ENV{REQUEST_URI}) . "</p>\n"; print "$_ => $ENV{$_}<br />\n" for sort keys %ENV;
Don't forget that the parameters will be encoded...
"One is enough. If you are acquainted with the principle, what do you care for the myriad instances and applications?"
- Henry David Thoreau, Walden
|
|---|