---
title: "RequestMiddlewares.php"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extension-configuration-requestmiddlewares-php@12.4"
source: "ExtensionArchitecture/FileStructure/Configuration/RequestMiddlewaresPhp.rst"
rendered: "2026-10-21T15:29:37+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v12 has reached end-of-life as of April 30th 2026 and
> is no longer being maintained. Use the version switcher on the top
> left of this page to select documentation for a supported version of TYPO3.
>
> Need more time before upgrading?
> You can purchase Extended Long Term Support (ELTS) for TYPO3 v12 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

# `RequestMiddlewares.php` {#extension-configuration-requestmiddlewares-php}

-   **RequestMiddlewares.php**

    -   *Scope:* extension
    -   *Path (Composer):* packages/my_extension/Configuration/RequestMiddlewares.php
    -   *Path (Classic):* typo3conf/ext/my_extension/Configuration/RequestMiddlewares.php

    Configuration of custom middleware for frontend and backend. Extensions that
    add middleware or disable existing middleware are configured in this file. The
    file must return an array with the configuration.

    See [Configuring middlewares](https://docs.typo3.org/permalink/t3coreapi:request-handling-configuring-middlewares@12.4)
    for details.

**EXT:some_extension/Configuration/RequestMiddlewares.php**

```php
return [
    'frontend' => [
        'middleware-identifier' => [
            'target' => \Vendor\SomeExtension\Middleware\ConcreteClass::class,
            'before' => [
                'another-middleware-identifier',
            ],
            'after' => [
                'yet-another-middleware-identifier',
            ],
        ],
    ],
    'backend' => [
        'middleware-identifier' => [
            'target' => \Vendor\SomeExtension\Middleware\AnotherConcreteClass::class,
            'before' => [
                'another-middleware-identifier',
            ],
            'after' => [
                'yet-another-middleware-identifier',
            ],
        ],
    ],
];
```
