9

When I add links to external websites (such as www.wikipedia.org) to mailings and check 'track click through' the links go to a page on my website that says 'page doesn't exist'. The url is something like this: mysite/wp-content/plugins/civicrm/civicrm/extern/url.php?u=30&qid=44.

This is obviously a key reason for wanting to use civiCRM so it'd be great to have link tracking working.

I see people have had this problem in the past (see here and here) but I can't seem to find a solution for it.

I have looked at extern/url.php and TrackableURLOpen.php and there don't seem to be any problems. (gists: trackableURLOpen.php url.php)

I'm using wordpress and civicrm 4.6.

My civicrm files are here: http://mysite/wp-content/plugins/civicrm/civicrm/

My temp files are here: http://mysite/wp-content/plugins/files/civicrm/

My civicrm.settings.php file says:

global $civicrm_root;

$civicrm_root = __DIR__ . '/civicrm/';
if (!defined('CIVICRM_TEMPLATE_COMPILEDIR')) {
define( 'CIVICRM_TEMPLATE_COMPILEDIR', __DIR__ . '/files/civicrm/templates_c/' );
}

Should the root be DIR . '/civicrm/civicrm/'? because that doesn't work.

1
  • This is the exact problem I am having. Has this problem been resolved?
    – fdarn
    Commented Sep 14, 2017 at 2:16

6 Answers 6

2

If you have access to the database then try checking the civicrm_mailing_trackable_url table to see exactly where the URL's are going to. This should identify if they're incorrect. You'll need to know the mailing id of the job you've run but you should be able to get that easily enough from the URL of the mailing reports.

2
  • I dont think his browser is even hitting url.php Commented May 18, 2015 at 18:04
  • Thanks. Yes there's a list of all the URLs I've used there -and they're correct. Not sure what to do next... Commented May 19, 2015 at 8:32
1

This can have a lot of causes - but my guess is that there's a permission problem with extern.url. Please check to see that the permissions are correct for the user context in which your web server software runs. If it all looks OK, please update your question with that info (permissions of extern.url, owner/group of extern.url, and the user under which the web server software runs).

1
  • Thanks. I'm not sure what the permissions should look like. The owner has read, read and execute rights. The group just read. Public permissions are read and execute. Commented May 18, 2015 at 11:09
0

What happens when you goto the url:

mysite/wp-content/plugins/civicrm/civicrm/extern/url.php?u=30&qid=44

i assume u get a page does not exist

Can you tweak the above url to a url that actually works on your site? Once you get that working, u'll need to tweak the resource url in your admin section

3
  • Thanks for this. Yes I get a 'page does not exist' message. I should tweak it how sorry? ie: which part? Commented May 17, 2015 at 19:32
  • It depends on your site config and where civicrm is actually located. can you post the directory where civicrm is installed. Am interest in the path from the wordpress root directory Commented May 17, 2015 at 23:46
  • Added info above. Commented May 18, 2015 at 0:47
0

Check the http error log. I get the following message.

[Thu May 25 04:49:23 2017] [error] [client 180.76.15.155] Re-negotiation request failed

[Thu May 25 04:49:23 2017] [error] SSL Library Error: 336068946 error:14080152:SSL routines:SSL3_ACCEPT:unsafe legacy renegotiation disabled

A security error, so rather than reconfiguring the server to allow these redirects I am turning off link tracking.

If this is the problem, then https://stackoverflow.com/questions/23883635/apache-ssl3-acceptunsafe-legacy-renegotiation-disabled may help.

0

I just had this problem. On a cPanel server I set permissions with the following commands and it solved the problem. From Drupal root:

cd sites/all/modules find civicrm/. -type d -exec chmod u=rwx,g=rx,o=rx {} \; find civicrm/. -type f -exec chmod u=rw,g=r,o=r {} \;

0

When I had this problem with Drupal, I had to delete everything inside the templates_c folder. I believe it would be the same with your Wordpress installation and then make sure that you the contents of templates_c are owned by the group.

Wordpress

rm -r /uploads/civicrm/templates_c/*

Drupal

rm -r /sites/default/templates_c/*

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.