title: Relative and absolute paths on ASP.NET/IIS
body: <p>I've read many articles about relative/absolute paths, but I still can't grok this problem.</p>
  
  <p>The following code is from my ASP.NET <code>Master</code> page:</p>
  
  <pre><code>&lt;li&gt;&lt;a&gt;Reports&lt;/a&gt;
      &lt;ul&gt;
          &lt;li&gt;
              &lt;a href="/Reports/One.aspx"&gt;One&lt;/a&gt;
          &lt;/li&gt;
          &lt;li&gt;
              &lt;a href="~/Reports/Two.aspx"&gt;Two&lt;/a&gt;
          &lt;/li&gt;
      &lt;/ul&gt;
  &lt;/li&gt;
  </code></pre>
  
  <p>(Note that one link has a <code>~</code> and one doesn't.)</p>
  
  <p>When running the site, the first link points to <code>http://server/Reports/One.aspx</code>, and the second link points to <code>http://server/company/project/Reports/~/Reports/Two.aspx</code>.</p>
  
  <p>How do I get to the root of my ASP.NET project without it ignoring whatever virtual directories are set up on IIS?</p>