disqus_link calls url as:

$path = url("node/$node->nid", array(
        'alias' => TRUE,
        'absolute' => TRUE,
      ));

Docs: http://api.drupal.org/api/drupal/includes--common.inc/function/url/6

This tells url that you are passing it a already aliased url "node/nid" is not aliased so it skips pieces of url processing. If you have a module that makes use of url processing like purl then the incorrect url is used. FYI this has no bearing on the "global redirect" or "i want comments to link to xxx discussions previously.

Thanks,
Richard Brandon

Patch Attached

CommentFileSizeAuthor
#1 1376162-2.patch641 bytesrbrandon

Comments

rbrandon’s picture

StatusFileSize
new641 bytes

Patch:

bkosborne’s picture

I believe the reason this was done was to prevent the alias being reported over to Disqus. Every effort is made to use node paths without aliases when passing info off to Disqus, so that if URLs happen to change, the comments are retained.

I agree that this is probably not the best way to do it, but we don't want to pass the alias off. Do you have an example of this breaking PURL or other implementations?

robloach’s picture

Version: 6.x-1.9 » 6.x-1.x-dev
Status: Needs review » Needs work

This is fixed in the Drupal 7 branch, but should be ported back... The link should have a data-disqus-identifier attribute with the system path (node/3), but have the correct aliased href.

          'attributes' => array(
             'data-disqus-identifier' => 'node/' . $node->nid,
           ),