We’ve been working here on a URL shortener as a part of another project. To avoid the server redirect rules and so, we verify against the database whether a slug exists (is already entered in the DB) and if so, we get the URL and redirect to the page.
As a fan of the request filter, I’d go with this approach:
[php]
function dx_redirector_request_filter( $request ) {
// check for request[‘name’], for instance for
// somewpsite.com/some-slug $request[‘name’]
// would be some-slug
if( ! empty( $request[‘name’] ) ) {
// verify against the database entries
// redirect accordingly, this is a sample
// if you pick somewpsite.com/yahoo.com or so
wp_redirect( ‘http://’ . $request[‘name’], 301 );
exit;
}
return $request;
}
add_filter( ‘request’, ‘dx_redirector_request_filter’ );
[/php]