title: Passing URIs as URL arguments in Drupal 6
body: <p>I'm running into problems trying to pass absolute URIs as parameters with clean URLs enabled. </p>
  
  <p>I've got hook_menu() set up like this:<pre><code>
  function mymodule_menu() {
    return array(
      'page/%' => array(
        'title' => 'DBpedia Display Test',
        'page callback' => 'mymodule_dbpedia_display',
        'page arguments' => array(1),
      ),
    );
  }
  </code></pre></p>
  
  <p>and in the page callback:<pre><code>
  function mymodule_dbpedia_display($uri) {
    // Make an HTTP request for this URI
    // and then render some things
    return $output;
  }</code></pre></p>
  
  <p>What I'm hoping to do is somehow pass full URIs (e.g. "<a href="http://dbpedia.org/resource/Coffee" rel="nofollow noreferrer">http://dbpedia.org/resource/Coffee</a>") to my page callback. I've tried a few things and nothing's worked so far...</p>
  
  <ol>
  <li><strong><a href="http://mysite.com/page/http%3A%2F%2Fdbpedia.org%2Fresource%2FCoffee" rel="nofollow noreferrer">http://mysite.com/page/http%3A%2F%2Fdbpedia.org%2Fresource%2FCoffee</a></strong> <br/>Completely breaks Drupal's rewriting</li>
  <li><strong><a href="http://mysite.com/page/?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FCoffee" rel="nofollow noreferrer">http://mysite.com/page/?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FCoffee</a></strong><br/> Gives a 404</li>
  <li><strong><a href="http://mysite.com/page/http://dbpedia.org/resource/Coffee" rel="nofollow noreferrer">http://mysite.com/page/http://dbpedia.org/resource/Coffee</a></strong><br/> Returns just "http:", which makes sense</li>
  </ol>
  
  <p>I could probably use $_GET to pull out the whole query string, but I guess I'm hoping for a more 'Drupal' solution. Any suggestions?</p>