diff --git a/src/swoole/src/SymfonyHttpBridge.php b/src/swoole/src/SymfonyHttpBridge.php
index ca26c2e..ecc3c3b 100644
--- a/src/swoole/src/SymfonyHttpBridge.php
+++ b/src/swoole/src/SymfonyHttpBridge.php
@@ -32,6 +32,8 @@ public static function convertSwooleRequest(Request $request): SymfonyRequest
         );
         $sfRequest->headers = new HeaderBag($request->header ?? []);
 
+        self::prepareRequestUriWithQueryString($sfRequest);
+
         return $sfRequest;
     }
 
@@ -62,4 +64,20 @@ public static function reflectSymfonyResponse(SymfonyResponse $sfResponse, Respo
                 $response->end($sfResponse->getContent());
         }
     }
+
+    /**
+     * REQUEST_URI returns the uri path only, should append with the query string if exists.
+     */
+    private static function prepareRequestUriWithQueryString(SymfonyRequest $sfRequest): void
+    {
+        if (!str_contains($sfRequest->server->get('REQUEST_URI', ''), '?')
+            && $sfRequest->server->has('QUERY_STRING')
+            && strlen($sfRequest->server->get('QUERY_STRING')) > 0
+        ) {
+            $sfRequest->server->set(
+                'REQUEST_URI',
+                sprintf('%s?%s', $sfRequest->server->get('REQUEST_URI'), $sfRequest->server->get('QUERY_STRING')),
+            );
+        }
+    }
 }
diff --git a/src/swoole/tests/Unit/SymfonyHttpBridgeTest.php b/src/swoole/tests/Unit/SymfonyHttpBridgeTest.php
index b2ef8da..5e1ba31 100644
--- a/src/swoole/tests/Unit/SymfonyHttpBridgeTest.php
+++ b/src/swoole/tests/Unit/SymfonyHttpBridgeTest.php
@@ -148,4 +148,19 @@ public function testStreamedResponseWillRespondWithOneChunkAtATime(): void
 
         SymfonyHttpBridge::reflectSymfonyResponse($sfResponse, $response);
     }
+
+    public function testThatSwooleRequestedWithQuery(): void
+    {
+        $request = $this->createMock(Request::class);
+        $request->server = [
+            'REQUEST_URI' => '/dummy',
+            'QUERY_STRING' => 'test=1',
+        ];
+
+        $sfRequest = SymfonyHttpBridge::convertSwooleRequest($request);
+
+        $this->assertSame('test=1', $sfRequest->server->get('QUERY_STRING'));
+        $this->assertSame('/dummy?test=1', $sfRequest->server->get('REQUEST_URI'));
+        $this->assertSame('/dummy?test=1', $sfRequest->getRequestUri());
+    }
 }