diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php
index ad9aaef86bcc5a482f1cf4f9dac5862ec904e5e8..3e7f174bd42bf75ef4fbdb926ba9d6d30ce6dfac 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/AbstractEnhancerLinkGeneratorTestCase.php
@@ -109,7 +109,13 @@ abstract class AbstractEnhancerLinkGeneratorTestCase extends AbstractTestCase
         self::assertStringStartsWith($expectation, (string)$response->getBody());
     }
 
-    protected function assertGeneratedUriEquals(TestSet $testSet): void
+    /**
+     * In case non-`$strict` assertions are performed (using `assertStringStartsWith`), the corresponding
+     * expectations need to be specific (e.g. ending with `?cHash=` to assert that part of the URI).
+     *
+     * @param bool $strict Whether to use `assertSame` instead of `assertStringStartsWith`
+     */
+    protected function assertGeneratedUriEquals(TestSet $testSet, bool $strict = true): void
     {
         $builder = Builder::create();
         $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet);
@@ -122,6 +128,9 @@ abstract class AbstractEnhancerLinkGeneratorTestCase extends AbstractTestCase
         $this->mergeSiteConfiguration('acme-com', [
             'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
         ]);
+        $this->mergeSiteConfiguration('archive-acme-com', [
+            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
+        ]);
 
         $response = $this->executeFrontendSubRequest(
             (new InternalRequest('https://acme.us/'))
@@ -136,6 +145,11 @@ abstract class AbstractEnhancerLinkGeneratorTestCase extends AbstractTestCase
                 ])
         );
 
-        self::assertStringStartsWith($expectation, (string)$response->getBody());
+        $actual = (string)$response->getBody();
+        if ($strict) {
+            self::assertSame($expectation, $actual);
+        } else {
+            self::assertStringStartsWith($expectation, $actual);
+        }
     }
 }
diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php
index 93dceb74a01059ed4844b462693e469dd32c8663..a35306c53f88601ebd781c4d0d935d7c2745de36 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/LocaleModifierTest.php
@@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue;
-use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
 
 final class LocaleModifierTest extends AbstractEnhancerLinkGeneratorTestCase
 {
@@ -107,36 +106,7 @@ final class LocaleModifierTest extends AbstractEnhancerLinkGeneratorTestCase
     #[Test]
     public function localeModifierIsApplied(TestSet $testSet): void
     {
-        $builder = Builder::create();
-        $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet);
-        $additionalParameters = $builder->compileGenerateParameters($testSet);
-        /** @var LanguageContext $languageContext */
-        $languageContext = $testSet->getSingleApplicable(LanguageContext::class);
-        $targetLanguageId = $languageContext->getLanguageId();
-        $expectation = $builder->compileUrl($testSet);
-
-        $this->mergeSiteConfiguration('acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-        $this->mergeSiteConfiguration('archive-acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-
-        $response = $this->executeFrontendSubRequest(
-            (new InternalRequest('https://acme.us/'))
-                ->withPageId(1100)
-                ->withInstructions([
-                    $this->createTypoLinkUrlInstruction([
-                        'parameter' => $testSet->getTargetPageId(),
-                        'language' => $targetLanguageId,
-                        'additionalParams' => $additionalParameters,
-                        'forceAbsoluteUrl' => 1,
-                    ]),
-                ])
-        );
-
-        $body = (string)$response->getBody();
-        self::assertStringStartsWith($expectation, $body);
+        $this->assertGeneratedUriEquals($testSet, false);
     }
 
     /**
diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php
index cf0953532295df3bc843ea7188dc8effbe61eb80..74aa3bcbd642c1122225e677d79003115d39f088 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedAliasMapperTest.php
@@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue;
-use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
 
 final class PersistedAliasMapperTest extends AbstractEnhancerLinkGeneratorTestCase
 {
@@ -85,32 +84,7 @@ final class PersistedAliasMapperTest extends AbstractEnhancerLinkGeneratorTestCa
     #[Test]
     public function persistedAliasMapperIsApplied(TestSet $testSet): void
     {
-        $builder = Builder::create();
-        $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet);
-        $additionalParameters = $builder->compileGenerateParameters($testSet);
-        /** @var LanguageContext $languageContext */
-        $languageContext = $testSet->getSingleApplicable(LanguageContext::class);
-        $targetLanguageId = $languageContext->getLanguageId();
-        $expectation = $builder->compileUrl($testSet);
-
-        $this->mergeSiteConfiguration('acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-
-        $response = $this->executeFrontendSubRequest(
-            (new InternalRequest('https://acme.us/'))
-                ->withPageId(1100)
-                ->withInstructions([
-                    $this->createTypoLinkUrlInstruction([
-                        'parameter' => 1100,
-                        'language' => $targetLanguageId,
-                        'additionalParams' => $additionalParameters,
-                        'forceAbsoluteUrl' => 1,
-                    ]),
-                ])
-        );
-
-        self::assertSame($expectation, (string)$response->getBody());
+        $this->assertGeneratedUriEquals($testSet);
     }
 
     /**
diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php
index 6fe7e38f1ca2bd932f91e91c9c175ba77c4bbb5d..4089ddd4813dc9c379ee729258192bb04dd966f5 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/PersistedPatternMapperTest.php
@@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue;
-use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
 
 final class PersistedPatternMapperTest extends AbstractEnhancerLinkGeneratorTestCase
 {
@@ -103,35 +102,7 @@ final class PersistedPatternMapperTest extends AbstractEnhancerLinkGeneratorTest
     #[Test]
     public function persistedPatternMapperIsApplied(TestSet $testSet): void
     {
-        $builder = Builder::create();
-        $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet);
-        $additionalParameters = $builder->compileGenerateParameters($testSet);
-        /** @var LanguageContext $languageContext */
-        $languageContext = $testSet->getSingleApplicable(LanguageContext::class);
-        $targetLanguageId = $languageContext->getLanguageId();
-        $expectation = $builder->compileUrl($testSet);
-
-        $this->mergeSiteConfiguration('acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-        $this->mergeSiteConfiguration('archive-acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-
-        $response = $this->executeFrontendSubRequest(
-            (new InternalRequest('https://acme.us/'))
-                ->withPageId(1100)
-                ->withInstructions([
-                    $this->createTypoLinkUrlInstruction([
-                        'parameter' => $testSet->getTargetPageId(),
-                        'language' => $targetLanguageId,
-                        'additionalParams' => $additionalParameters,
-                        'forceAbsoluteUrl' => 1,
-                    ]),
-                ])
-        );
-
-        self::assertSame($expectation, (string)$response->getBody());
+        $this->assertGeneratedUriEquals($testSet);
     }
 
     /**
diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php
index aeea6ade711839eb4ae7876fbd89fb8eec1eee66..dc1c080f188869a8f0c01e4d9c2a4fa947002349 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/RouteTest.php
@@ -139,7 +139,7 @@ final class RouteTest extends AbstractEnhancerLinkGeneratorTestCase
                     ->withTargetPageId(1100)
                     ->withUrl(
                         VariableValue::create(
-                            'https://acme.us/welcome/enhance/hundred/20[[pathSuffix]]',
+                            'https://acme.us/welcome/enhance/hundred/20[[pathSuffix]]?cHash=',
                             Variables::create(['pathSuffix' => ''])
                         )
                     ),
@@ -148,7 +148,7 @@ final class RouteTest extends AbstractEnhancerLinkGeneratorTestCase
                     ->withTargetPageId(1100)
                     ->withUrl(
                         VariableValue::create(
-                            'https://acme.fr/bienvenue/enhance/cent/20[[pathSuffix]]',
+                            'https://acme.fr/bienvenue/enhance/cent/20[[pathSuffix]]?cHash=',
                             Variables::create(['pathSuffix' => ''])
                         )
                     )
@@ -211,7 +211,7 @@ final class RouteTest extends AbstractEnhancerLinkGeneratorTestCase
     #[Test]
     public function routeDefaultsForMultipleParametersAreConsidered(TestSet $testSet): void
     {
-        $this->assertGeneratedUriEquals($testSet);
+        $this->assertGeneratedUriEquals($testSet, false);
     }
 
     public static function routeRequirementsHavingAspectsAreConsideredDataProvider(): array
diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php
index 8254605d000a74ed058583d42d0c8a23e90ba52b..dcebee001d27839110d54e45e8e0e14ec770fce7 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticRangeMapperTest.php
@@ -28,7 +28,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableI
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariablesContext;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue;
-use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
 
 final class StaticRangeMapperTest extends AbstractEnhancerLinkGeneratorTestCase
 {
@@ -95,32 +94,7 @@ final class StaticRangeMapperTest extends AbstractEnhancerLinkGeneratorTestCase
     #[Test]
     public function staticRangeMapperIsApplied(TestSet $testSet): void
     {
-        $builder = Builder::create();
-        $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet);
-        $additionalParameters = $builder->compileGenerateParameters($testSet);
-        /** @var LanguageContext $languageContext */
-        $languageContext = $testSet->getSingleApplicable(LanguageContext::class);
-        $targetLanguageId = $languageContext->getLanguageId();
-        $expectation = $builder->compileUrl($testSet);
-
-        $this->mergeSiteConfiguration('acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-
-        $response = $this->executeFrontendSubRequest(
-            (new InternalRequest('https://acme.us/'))
-                ->withPageId(1100)
-                ->withInstructions([
-                    $this->createTypoLinkUrlInstruction([
-                        'parameter' => $testSet->getTargetPageId(),
-                        'language' => $targetLanguageId,
-                        'additionalParams' => $additionalParameters,
-                        'forceAbsoluteUrl' => 1,
-                    ]),
-                ])
-        );
-
-        self::assertStringStartsWith($expectation, (string)$response->getBody());
+        $this->assertGeneratedUriEquals($testSet);
     }
 
     /**
diff --git a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php
index cefb74552b753cacf58011c5cdb48246fb94a9a8..23a5f01c4bca1c3827b72005adff17dce2c441fc 100644
--- a/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php
+++ b/typo3/sysext/frontend/Tests/Functional/SiteHandling/EnhancerLinkGenerator/StaticValueMapperTest.php
@@ -27,7 +27,6 @@ use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\TestSet;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableItem;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\Variables;
 use TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\Framework\Builder\VariableValue;
-use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
 
 final class StaticValueMapperTest extends AbstractEnhancerLinkGeneratorTestCase
 {
@@ -111,35 +110,7 @@ final class StaticValueMapperTest extends AbstractEnhancerLinkGeneratorTestCase
     #[Test]
     public function staticValueMapperIsApplied(TestSet $testSet): void
     {
-        $builder = Builder::create();
-        $enhancerConfiguration = $builder->compileEnhancerConfiguration($testSet);
-        $additionalParameters = $builder->compileGenerateParameters($testSet);
-        /** @var LanguageContext $languageContext */
-        $languageContext = $testSet->getSingleApplicable(LanguageContext::class);
-        $targetLanguageId = $languageContext->getLanguageId();
-        $expectation = $builder->compileUrl($testSet);
-
-        $this->mergeSiteConfiguration('acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-        $this->mergeSiteConfiguration('archive-acme-com', [
-            'routeEnhancers' => ['Enhancer' => $enhancerConfiguration],
-        ]);
-
-        $response = $this->executeFrontendSubRequest(
-            (new InternalRequest('https://acme.us/'))
-                ->withPageId(1100)
-                ->withInstructions([
-                    $this->createTypoLinkUrlInstruction([
-                        'parameter' => $testSet->getTargetPageId(),
-                        'language' => $targetLanguageId,
-                        'additionalParams' => $additionalParameters,
-                        'forceAbsoluteUrl' => 1,
-                    ]),
-                ])
-        );
-
-        self::assertStringStartsWith($expectation, (string)$response->getBody());
+        $this->assertGeneratedUriEquals($testSet);
     }
 
     /**