Как настроить 301 редирект в битриксе, чтобы при переходе на /index.php происходило перенаправление на /?

Как можно настроить 301 редирект в битрикс 1с без возникновения ошибки ERR_TOO_MANY_REDIRECTS?
  • 19 декабря 2023 г. 12:07
Ответы на вопрос 2
Для настройки 301 редиректа в Битриксе, чтобы при переходе на /index.php происходило перенаправление на /?, вы можете использовать следующий код в файле .htaccess:

```apache
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /index\.php [NC]
RewriteRule ^index\.php(.*)$ /$1 [L,R=301]
```

Этот код будет перенаправлять все запросы, начинающиеся с /index.php, на эквивалентный URL без index.php с помощью 301 редиректа.

Чтобы настроить 301 редирект в Битрикс 1С без ошибки ERR_TOO_MANY_REDIRECTS, вам потребуется проверить, что редирект выполняется только один раз. Для этого вы можете использовать следующий код в файле init.php вашего сайта:

```php
if ($_SERVER['REQUEST_URI'] == '/index.php' && !defined('ADMIN_SECTION')) {
    LocalRedirect('/', true, '301 Moved Permanently');
}
```

Этот код проверяет, выполняется ли запрос на /index.php и не находится ли пользователь в административной части сайта (ADMIN_SECTION), чтобы избежать циклического редиректа. Если условия выполняются, происходит 301 редирект на / с помощью функции LocalRedirect.
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://tagil-steel.ru/ [R=301,L]
Похожие вопросы