On Jan 13, 2009, at 5:37 AM, Nathan Rixham wrote:
Jason Pruim wrote:
On Jan 12, 2009, at 2:16 PM, Nathan Rixham wrote:
Jason Pruim wrote:
Hi Everyone,
I know it's not a php question... But I know alot of you use
rewrite rules and regular expressions and so I thought maybe you
would be able to help me.
The site: HTTP://purl.raoset.com/test112
test112 doesn't exist.. It's driven by the database using this
rewrite rule:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /p.php [L]
Now, on that site I have a few links... right now the likes are
in the format of:
HTTP://purl.raoset.com/design.php?purl=test112
What I would like is to have it read:
HTTP://purl.raoset.com/test112/design
completing the total look of the site :)
technically the same code as above should work even if you change
you're links.. you see it's just redirecting everything not found
to p.php
so in p.php simply add in a
print_r($_SERVER);
exit();
at the top, upload to server then visit /test112/design in you're
browser.. check the print_r output and you'll see the request in
there, (variables sometimes differ, hence why I'm suggesting you
check; you can skip this bit and jump right on to the next
paragraph though)
you can then simply:
$request_page_parts = explode('/', $_SERVER['REQUEST_URI');
print_r($request_page_parts);
then use whatever code you want to display the correct page based
on the uri requested (as you want)
I know this isn't the approach you expected but it basically
hands off all page selection and processing to php, rather than a
load of rewrite rules and lots of updating of .htaccess
if you really want the rewrite rules then I'm sure you've had
many other accurate replies with examples :)
Nathan,
You get any drink you want as long as you come to me! Once I
looked at it and read your e-mail it made total sense... I
understand PHP programming better than rewrite rules :)
cool; couple of little notes to help you on you're way..
first thing you'll want to do is explode/split on "?" so that you
have any get params stripped off and stored seperately for good
measure
next up it makes sense to check for and seperate file extensions,
and likewise trim off trailing /'s
also experiment with this, you can do some nifty things; the last
time I implemented it I had the following set up on my urls
domain.com/.wrapper/section/the_page_name.ext
in short, .wrapper was optional, and could be one
of .ajax, .default, .print (output template differed dependant on
the wrapper specified)
section and page name are both self explanatory
.ext was again optional, in one implementation I completely ignored
it, meaning I could disguise the site as being all .html, or
all .asp or .jsp or whatever (just for the novelty and to throw
hackers) - in another implementation I used it wth extensions
of .json .xml .php and .html (much like twitter) which turned the
site into a kind of api.
I would recommend trying the above and making a system like this at
some point, it's simpler than you think; but the benefits are
immense, not becuase of the things you can do.. but because of the
way it makes you program, it get's you to seperate the functional
code from the presentation and really think about things - you
learn lessons that never leave you :)
best wishes, nath
Hmm... I like the idea of that... I'll play with that when I get
home... Unfortunately the boss doesn't pay me to write programs
anymore... Even though I've written stuff to make him money! :)
so if anyone knows of a junior to mid level programming job that pays
$50,000+ in the US let me know! :)
--
Jason Pruim
japruim@xxxxxxxxxx
616.399.2355