I customized the author.php template so it displays profile information (firstname, lastname, URL etc.) on http://example.com/blog/author/daniel/ and shows recent posts when adding a GET variable like this http://example.com/blog/author/daniel/?display=all.
As far as this goes, everything's fine and working. But I don't like the ugly-URI version with the display=all variable, so I did the following in the .htaccess:
RewriteRule author/([^/]+)/all/$ author/$1/?display=all
But, sadly, this isn't working and I'm getting a 500 Internal Server Error. The RewriteRule above works, when I remove the /all at the regexp, so the rewriting itself works.
Solution tested, that didn't work:
global $wp_rewrite;
$wp_rewrite->add_external_rule( 'regexp', 'redirect' );