The l() and url() are pretty tame, I&#39;ve ran through so many cases I wish I had recorded all of them, but I&#39;ll make sure to do that in the future. <br><br>Yup, base_path() did it for referencing path_to_theme() files. What about referencing files in the files directory? At a glance, all of the following seem to play a role in this. There&#39;s file_create_path() to file_create_filename() and even file_create_URL() and file_directory_path() they&#39;re simply confusing. What&#39;s the correct way to reference a file that wouldn&#39;t become affected by clean URLs or site&#39;s URL (domain/subfolder)?
<br><br><div><span class="gmail_quote">On 4/23/07, <b class="gmail_sendername">Amr Mostafa</b> &lt;<a href="mailto:amr.mostafa@gmail.com">amr.mostafa@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
You need to use base_path()<br>e.g., &lt;?php print base_path() . path_to_theme(). &#39;/images/whatever.gif&#39; ?&gt;<br><br>In the first case, using l() or url() should be it, would you post an example wrong link being generated out of them?
<br><br>Cheers,<div><span class="e" id="q_1121e4f85dd01e35_1"><br><br><div><span class="gmail_quote">On 4/23/07, <b class="gmail_sendername">Ashraf Amayreh</b> &lt;<a href="mailto:mistknight@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
mistknight@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello all,<br><br>Don&#39;t know if this is the best place for this, so if it&#39;s already discussed elsewhere, I&#39;ll be thankful if you could point me to the URL cause I couldn&#39;t find anything myself. I&#39;m really having a tough time when creating URLs to other parts of a Drupal site. Especially when I&#39;m using clean URLs and even more when I have Drupal as a subfolder like 
<a href="http://example.com/mydrupalsite" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://example.com/mydrupalsite</a> (in which case the internal node page could be something like <a href="http://example.com/drupal/node/5" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://example.com/drupal/node/5</a>)<br>
<br>As far as I&#39;ve noticed, there are three cases of referencing, this is how I do it, but I&#39;m positive that there&#39;s something wrong or else I wouldn&#39;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:
<br><br>1. Referencing another page, in this case I use l() or url() with relative paths to get the link<br>2. Referencing a file in the themes folder in which case I use src=&quot;&lt;?php print path_to_theme().&#39;/images/whatever.gif&#39;;?&gt;
<br>3. Referencing a file in the files folder in which case I use href=&quot;&lt;?php print file_directory_path().&#39;/whatever.zip&#39;;?&gt;<br><br>The main headache cause is the second one. If I have clean URLs on and the site as a domain (
<a href="http://example.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://example.com/</a>) then the paths are wrong on node pages.<span style="font-family: monospace;"></span> 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 :-)
<br>
</blockquote></div><br>
</span></div></blockquote></div><br>