Сниппеты
Назад к сниппетам

Apache mod_rewrite: front controller для Bitrix и Laravel

Правила RewriteRule и RewriteBase для маршрутизации запросов в index.php. По документации Apache 2.4 mod_rewrite.

apache
12 февраля 2026 г.

Правила mod_rewrite: все запросы к несуществующим файлам и каталогам перенаправляются в index.php (front controller). Условия !-f и !-d — «файл/каталог не существует» (RewriteCond). Флаг [L] — последнее правило (Last).

Сайт в корне DocumentRoot

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php [L]
</IfModule>

Сайт в подкаталоге (например /bitrix-site/)

Без RewriteBase подстановка может дать неверный путь. Укажите префикс URL, соответствующий подкаталогу:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /bitrix-site/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L]
</IfModule>

Подробнее: Apache httpd и PHP-FPM: модули и расширения для продакшена (с учётом Bitrix).