Net_URL_Rewrite package proposal
| From: | Alexander Radivanovich | Date: | Mon, 10 Mar 2003 17:12:25 +0000 |
| Subject: | Net_URL_Rewrite package proposal | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-14169@lists.php.net to get a copy of this message | ||
Hi everybody,
I propose new PEAR package Net_URL_Rewrite for rewritting urls like Apache's mod_rewrite module does.
Look at the example:
$ur = new Net_URL_Rewrite($_SERVER['REQUEST_URI']);
$ur->addRewriteRule('^/images.*$', '-', 'L'); //
last rule
$ur->addRewriteRule('^\.(gif|jpg|png)$','-', 'L'); //
last rule
$ur->addRewriteRule('^/page$', '/page/1', 'NC');
// case insensitive
$ur->addRewriteRule('^/page/?([0-9]+)$','/page/?id=\1', 'NC,L');
// case insensitive, last rule
$ur->addRewriteRule('^/redirect$', '/xyz', 'R,NC,L');
$ur->addRewriteRule('^/forbidden$', '-', 'F,NC,L');
$ur->addRewriteRule('^/notfound$', '-', 'O,NC,L');
$ur->addRewriteRule('^/pear$', 'http://pear.php.net',
'R,NC,L'); // external redirect to the pear web site
$ur->addRewriteRule('^/stop$', '/index_stop', 'L'); //
stop rewrite
$ur->addRewriteRule('^/a$', '/b');
$ur->addRewriteRule('^/b$', '/c');
$ur->addRewriteRule('^/c$', '/stop', 'N'); //
start again
$ur->addRewriteRule('^/.*$', 'index');
$ur->addRewriteRule('^/index$', '-', 'NC,L');
$url = $ur->rewrite($_SERVER['REQUEST_URI']);
echo("rewritten url: " . $url->getURL() . "\n");
What do PEAR people think about it?