title: Drupal 7 path_save with a query arguments
body: <p>I've searched all over for examples of this, but I haven't found any.  I'm trying to create an alias for path which includes query arguments, like profile?arg1=113.</p>
  
  <p>It doesn't matter if I provide <code>path_save()</code> with the plain string representation of the path, or if I provide it with <code>url()</code>.</p>
  
  <pre class="lang-php prettyprint-override"><code>url('profile', array('query' =&gt; array('arg1' =&gt; $uid)))
  </code></pre>
  
  <p>Either way, <em>?</em> and <em>=</em> show up as escaped characters on the URL aliases admin page, which naturally means the path can't be found.</p>
  
  <p>How can I keep the ? and = from being escaped?</p>
  
  <p><strong>12/19/12 Edit 1:</strong> the larger context is that I'm trying to set up the alias when a <a href="http://drupal.org/project/profile2" rel="nofollow">Profile2</a> profile is being saved (i.e., in mymodule_profile2_presave()) - that's when I'll have all the information I need to programmatically set up the alias.</p>
  
  <p><strong>12/19/12 Edit 2:</strong> I just realized that the problem isn't on the insert side - the url_alias table actually has unescaped characters in it.  The problem is that Drupal doesn't urldecode the path before using it...</p>
  
  <p><strong>12/20/12 Edit 3:</strong> Found a solution using <a href="http://drupal.org/project/redirect" rel="nofollow">Redirect</a> instead of path aliases.  Redirect properly decodes the query string!</p>