APACHE
#apache#mod_rewrite#bitrix#laravel#urlrewrite#htaccess

Apache mod_rewrite: front controller для Bitrix и Laravel

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

Как использовать

  1. Вариант 1: в виртуальном хосте или .htaccess в корне сайта (DocumentRoot).
  2. Вариант 2: если сайт в подкаталоге — обязательно укажите RewriteBase.
  3. Проверьте: 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).