 <p>Register your route without <code>{q}</code> and with a name.</p> <p>Using closure:</p> <pre><code>Route::get('search', ['as' =&gt; 'search', function(){ $q = Input::get('q'); return $q; }]); </code></pre> <p>Using controller:</p> <pre><code>Route::get('search', ['as' =&gt; 'search', 'uses' =&gt; 'SearchController@yourMethod']); </code></pre> <p>Then call the route by its name:</p> <pre><code>route('search', ['q' =&gt; 'search query']); // /search?q=search%20query </code></pre> <p>or</p> <pre><code>URL::route('search', ['q' =&gt; 'search query']); </code></pre>