---
title: "Backend entry point"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:backend-entry-point@main"
source: "Administration/SystemSettings/BackendEntryPoint/Index.rst"
modified: "2026-09-16T09:14:56+00:00"
---

# Backend entry point

[Watch this video on YouTube](https://www.youtube.com/watch?v=hsrAtnI9244)

---

> [!NOTE]
> **Changed in version 14.0**
>
> The legacy entry point `/typo3/index.php` is no longer needed and
> has been removed.

The TYPO3 backend URL is configurable in order to enable optional protection
against application administrator interface infrastructure enumeration
([WSTG-CONF-05](https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/02-Configuration_and_Deployment_Management_Testing/05-Enumerate_Infrastructure_and_Application_Admin_Interfaces)). Both frontend and backend requests are handled by the PHP
script `/index.php` to enable virtual administrator interface URLs.

The default TYPO3 backend entry point path `/typo3` can be changed by
specifying a custom URL path or domain name in
[$GLOBALS\['TYPO3_CONF_VARS'\]\['BE'\]\['entryPoint'\]](https://docs.typo3.org/permalink/t3coreapi:typo3confvars-be-entrypoint@main).

Adjusting the backend entry point does not take assets into account, only
routing is adapted. That means Composer mode will use assets provided via
`_assets/` as before and TYPO3 Classic mode will serve backend assets from
`/typo3/*` even if another backend URL is used and configured.

> [!NOTE]
> The install tool is still available via `/typo3/install.php`.

## Configuration

The configuration can be done in the backend via
**System > Settings > Configure Installation-Wide Options**:

![Configure the entry point via GUI](../../../Images/ManualScreenshots/AdminTools/ConfigureEntryPoint.png)

or manually in [config/system/settings.php](https://docs.typo3.org/permalink/t3coreapi:typo3confvars-settings@main) or
[config/system/additional.php](https://docs.typo3.org/permalink/t3coreapi:typo3confvars-additional@main).

### Configure a specific path

**config/system/additional.php**

```php
$GLOBALS['TYPO3_CONF_VARS']['BE']['entryPoint'] = '/my-specific-path';
```

Now point your browser to `https://example.org/my-specific-path` to
log into the TYPO3 backend.

### Use a distinct subdomain

**config/system/additional.php**

```php
$GLOBALS['TYPO3_CONF_VARS']['BE']['entryPoint'] = 'https://my-backend-subdomain.example.org';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['cookieDomain'] = '.example.org';
```

Now point your browser to `https://my-backend-subdomain.example.org/` to log
into the TYPO3 backend.

Note that the `$GLOBALS['TYPO3_CONF_VARS']['SYS']['cookieDomain']` is
necessary, so that backend users can preview website pages or use the admin
panel.

## Migration

A silent update is in place which automatically updates the webserver
configuration file when accessing the install tool, at least for Apache
(`.htaccess`) and Microsoft IIS (`web.config`) webservers.

> [!WARNING]
> **Attention**
>
> The silent update does not work, if you are not using the default
> configuration, which is shipped with Core and automatically applied during
> the TYPO3 installation process, as basis.

If you use a custom web server configuration you may adapt as follows.

### Apache configuration

It is most important to rewrite all `typo3/*` requests to `/index.php`. The
conditions `RewriteCond %{REQUEST_FILENAME} !-d` and
`RewriteCond %{REQUEST_FILENAME} !-l` should be removed as well, in order for a
request to `/typo3/` to be directly served via `/index.php` instead of the
removed entry point `/typo3/index.php`.

**typo3_root/public/.htaccess (migration)**

```diff
 RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteCond %{REQUEST_FILENAME} !-l
-RewriteRule ^typo3/(.*)$ %{ENV:CWD}typo3/index.php [QSA,L]
+RewriteRule ^typo3/(.*)$ %{ENV:CWD}index.php [QSA,L]

 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-l
 RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
```

### NGINX configuration

The `try_files` directive of the `/typo3/` location has to point to the root
entry point:

**nginx-site-typo3.conf (migration)**

```diff
 location /typo3/ {
     absolute_redirect off;
-    try_files $uri /typo3/index.php$is_args$args;
+    try_files $uri /index.php$is_args$args;
 }
```
