diff --git a/src/Ratchet/Http/Router.php b/src/Ratchet/Http/Router.php
index 8e6611e..4596af1 100644
--- a/src/Ratchet/Http/Router.php
+++ b/src/Ratchet/Http/Router.php
@@ -3,6 +3,7 @@ namespace Ratchet\Http;
 use Ratchet\ConnectionInterface;
 use Guzzle\Http\Message\RequestInterface;
 use Guzzle\Http\Message\Response;
+use Guzzle\Http\Url;
 use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
 use Symfony\Component\Routing\Exception\MethodNotAllowedException;
 use Symfony\Component\Routing\Exception\ResourceNotFoundException;
@@ -45,6 +46,16 @@ class Router implements HttpServerInterface {
         if (!($route['_controller'] instanceof HttpServerInterface)) {
             throw new \UnexpectedValueException('All routes must implement Ratchet\Http\HttpServerInterface');
         }
+        
+        $parameters = array();
+        foreach($route as $key => $value) {
+            if (!in_array($key, array('_controller', '_route'))) {
+                $parameters[$key] = $value;
+            }
+        }
+        $url = Url::factory($request->getPath());
+        $url->setQuery($parameters);
+        $request->setUrl($url);
 
         $conn->controller = $route['_controller'];
         $conn->controller->onOpen($conn, $request);