Q:

Перенаправление главной страницы на каталог один раз

В общем-то сразу к делу:
Сайт по умолчанию на русском, нужно чтобы был на английском. 
То есть:
Есть сайт site.ru. При входе на индекс нужно перенавлять юзеров на site.ru/en/, но только при первом входе и чтобы site.ru/ (индекс) был по прежнему доступен.
Пробовал редирект через .htaccess с индекса на /en/,— все ок, только потом не пускает на индекс.
И да, можно перенести все файлы, но это гемор. Плюс после этого сломаются ссылки на сайт и нужно будет настраивать .htaccess.

A:

Предложу три возможных варианта по решению задачи.

Вставить чанк php-кода в скрипт(ы) (до вывода данных!), который формирует вывод документа индексной(главной) страницы :

<?php
if (!isset($_COOKIE["redirected_82Hc"])) {
    setcookie("redirected_82Hc", 1, time() + 86400 * 365 * 10, "/");
    header("Location: /en/", true, 302);
}
?>

Вставить чанк с инлайн js-скрипом в начало выводимого документа:

<script>
    (function () {
        var cookie = {
            create : function (name, value, secs) {
                var expires = "";
                if (secs) {
                    var date = new Date();
                    date.setTime(date.getTime() + (secs * 1000));
                    expires = "; expires=" + date.toGMTString();
                }
                document.cookie = name + "=" + value + expires + "; path=/";
            },
            read : function (name) {
                var nameEQ = name + "=";
                var ca = document.cookie.split(';');
                for (var i = 0; i < ca.length; i++) {
                    var c = ca[i];
                    while (c.charAt(0) === ' ') {
                        c = c.substring(1, c.length);
                    }
                    if (c.indexOf(nameEQ) === 0) {
                        return c.substring(nameEQ.length, c.length);
                    }
                }
                return undefined;
            }
        };
        if (!cookie.read('redirected_82Hc')) {
            cookie.create('redirected_82Hc', 1, 86400 * 365 * 10);
            window.location.href = "/en/";
        }
    }) ();
</script>

Настроить .htaccess для http-сервера Apache

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^(/|/index.php|/index.html)?\??$ [NC]
RewriteCond %{HTTP_COOKIE} !^.*redirected_82Hc.*$ [NC]

# 86400 * 365 * 10 = 315360000
RewriteRule .* - [co=redirected_82Hc:1:%{HTTP_HOST}:315360000:/,C]
RewriteRule .* /en/ [R=302,L,QSA]

