Attach a filter that only outputs a different link when you’re on single.php:
function wpse25725_author_posts( $link )
{
// abort if not on single.php
if ( ! is_single() )
return;
// modify this as you like - so far exactly the same as in the original core function
// if you simply want to add something to the existing link, use ".=" instead of "=" for $link
$link = sprintf(
'<a href="https://wordpress.stackexchange.com/questions/25725/%1$s" title="%2$s" rel="author">%3$s</a>',
get_author_posts_url( $authordata->ID, $authordata->user_nicename ),
esc_attr( sprintf( __( 'Posts by %s' ), get_the_author() ) ),
get_the_author()
);
return $link;
}
add_filter( 'the_author_posts_link', 'wpse25725_author_posts' );