Apache mod_rewrite: front controller для Bitrix и Laravel
Правила RewriteRule и RewriteBase для маршрутизации запросов в index.php. По документации Apache 2.4 mod_rewrite.
Как использовать
- Вариант 1: в виртуальном хосте или .htaccess в корне сайта (DocumentRoot).
- Вариант 2: если сайт в подкаталоге — обязательно укажите RewriteBase.
- Проверьте: mod_rewrite включён (a2enmod rewrite), AllowOverride разрешает FileInfo.
Правила 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).