Re: Re: Regex help

From: Date: Tue, 09 Sep 2008 16:18:19 +0000
Subject: Re: Re: Regex help
References: 1 2 3 4 5  Groups: php.general 
Request: Send a blank email to php-general+get-279735@lists.php.net to get a copy of this message
Jason Pruim schreef:
On Sep 9, 2008, at 5:02 PM, Nathan Rixham wrote:
Jason Pruim wrote:
On Sep 9, 2008, at 4:38 PM, Nathan Rixham wrote:
Jason Pruim wrote:
Hey everyone, Not completely specific to php but I know you guys know regex's better then I do! :) I am attempting to match purl.schreurprinting.com/jasonpruim112 to purl.schreurprinting.com/p.php?purl=jasonpruim112 Here are my current matching patterns:
              RewriteRule /(.*) "/volumes/raider/webserver/documents/dev/schreurprinting.com/p.php?purl=$ 
#               RewriteRule /(*.) "/purl.schreurprinting.com/$1"
#               RewriteRule /(mail.php?purl=*) "/purl.schreurprinting.com/mail.php?purl=$1"
Yes I am doing this for apache's mod_rewrite, but my question is much more specific to regex's at this point :)
Any ideas where I am going wrong? it seems like it should be fairly simple to do, but I don't know regex's at all :)
-- Jason Pruim
Raoset Inc. Technology Manager MQC Specialist 11287 James St Holland, MI 49424 www.raoset.com japruim@raoset.com
RewriteRule ^jasonpruim112$ /p.php?purl=jasonpruim112 [L]
Just tried it, and it pops up with a 404... I'll keep looking. One other thing that I should probably add is the fact that the ^jasonpruim112$ could have hundreds of counterparts.... ^bobsmith112$ ^jerrybob112$ etc... etc... Thanks for looking though! -- Jason Pruim Raoset Inc. Technology Manager MQC Specialist 11287 James St Holland, MI 49424 www.raoset.com japruim@raoset.com
here's a typical rule; probably best to modify what works and go from there :) RewriteRule ^directory/(.*)$ /newdirectory/$1 [L] the other alternative is to let php handle it.. this is basicaly if request isn't a file or a directory route to a php handler [my prefered way]: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /notfound_handler.php [L]
RewriteRule . /notfound_handler.php [L,QSA] the QSA tells apache to to automatically append any query string, saves the hassle of having to deal with it in the regexp (assuming you might need it) also beware that external redirects will cause POSTs to become GETs so that the script/code in question never recieves the POST.
Interesting idea... I hadn't thought about that... Then I could just use a regex in php and grab everything after the domain name and pass it to my database to search and find the appropriate info to pull out...
your probably wanting the info in $_SERVER['REQUEST_URI'] ... which is the complete uri before it was rewritten. also check this func out, will probably spare you the regexp completely: http://php.net/manual/en/function.parse-url.php
I'll have to do some searching :)
always ;-)
-- Jason Pruim Raoset Inc. Technology Manager MQC Specialist 11287 James St Holland, MI 49424 www.raoset.com japruim@raoset.com


« previous php.general (#279735) next »