Go to the admin page for your content type
/admin/structure/types/manage/page
and check Show reply form on the same page as comments
under Comment settings
.
If you look at comment_node_view() in the comment module, you can see where the comment link is added to teasers.
if (user_access('post comments')) {
$links['comment-add'] = array(
'title' => t('Add new comment'),
'href' => "comment/reply/$node->nid",
'attributes' => array('title' => t('Add a new comment to this page.')),
'fragment' => 'comment-form',
);
}
To alter the link you can use hook_node_view_alter() in your module.
function MODULE_node_view_alter(&$build) {
$node = $build['#node'];
if (isset($build['links']['comment']['#links']['comment-add'])) {
// Alter the 'Add new comment' link.
$build['links']['comment']['#links']['comment-add']['href'] = "node/$node->nid";
// Fragment is the '#comment-form' part of the url.
$build['links']['comment']['#links']['comment-add']['fragment'] = 'comment-form';
}
}