You need to use base_path() e.g., <?php print base_path() . path_to_theme(). '/images/whatever.gif' ?> In the first case, using l() or url() should be it, would you post an example wrong link being generated out of them? Cheers, On 4/23/07, Ashraf Amayreh <mistknight@gmail.com> wrote:
Hello all,
Don't know if this is the best place for this, so if it's already discussed elsewhere, I'll be thankful if you could point me to the URL cause I couldn't find anything myself. I'm really having a tough time when creating URLs to other parts of a Drupal site. Especially when I'm using clean URLs and even more when I have Drupal as a subfolder like http://example.com/mydrupalsite (in which case the internal node page could be something like http://example.com/drupal/node/5)
As far as I've noticed, there are three cases of referencing, this is how I do it, but I'm positive that there's something wrong or else I wouldn't get broken links and/or images when I toggle clean-urls on and off and when I have my site as a domain opposed to a subfolder:
1. Referencing another page, in this case I use l() or url() with relative paths to get the link 2. Referencing a file in the themes folder in which case I use src="<?php print path_to_theme().'/images/whatever.gif';?> 3. Referencing a file in the files folder in which case I use href="<?php print file_directory_path().'/whatever.zip';?>
The main headache cause is the second one. If I have clean URLs on and the site as a domain ( http://example.com/) then the paths are wrong on node pages. Although this may be a bug or something, I need to know the standard way of referencing any and all paths before I jump to conclusions. Would be grateful if someone could shed the light on this :-)