---
title: "Feature: #93100 - Allow to directly declare static route variables"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-93100-1710488213"
source: "Changelog/13.3/Feature-93100-AllowToDirectlyDeclareStaticRouteVariables.rst"
typo3-version: "13.3"
typo3-major: 13
type: "feature"
issue: 93100
forge: "https://forge.typo3.org/issues/93100"
tags: ["Frontend", "YAML", "ext:core"]
rendered: "2026-09-25T23:17:45+00:00"
---

# Feature: #93100 - Allow to directly declare static route variables {#feature-93100-1710488213}

See [forge#93100](https://forge.typo3.org/issues/93100)

## Description {#description}

Instead of having to use custom route aspect mappers, implementing
`\TYPO3\CMS\Core\Routing\Aspect\StaticMappableAspectInterface`,
to avoid having `&cHash=` signatures
being applied to the generated URL, variables now can be simply declared
`static` in the corresponding route enhancer configuration.

## Impact {#impact}

By using the new `static` route configuration directive, custom aspect
mapper implementations can be avoided. However, static route variables
are only applied for a particular variable name if

> -   there is no aspect mapper configured - aspect mappers are
>     considered more specific and will take precedence
> -   there is a companion `requirements` definition which narrows the
>     set of possible values, and should be as restrictive as possible
>     to avoid potential cache flooding - `static` routes variables are
>     ignored, if there is no corresponding `requirements` definition

### Example {#example}

```yaml
routeEnhancers:
  Verification:
    type: Simple
    routePath: '/verify/{code}'
    static:
      code: true
    requirements:
      # only allows SHA1-like hex values - which still allows lots
      # of possible combinations - thus, for this particular example
      # the handling frontend controller should be uncached as well
      #
      # hint: if `static` is set, `requirements` must be set as well
      code: '[a-f0-9]{40}'
```

As a result, using the URI query parameters `&code=11f6ad8ec52a2984abaafd7c3b516503785c2072`
would generate the URL `https://example.org/verify/11f6ad8ec52a2984abaafd7c3b516503785c2072`.
