Другой корень документа для бета-пользователей?

У меня есть PHP-приложение на основе WordPress работает на Apache на сервере Ubuntu. Я разработал новую версию приложения и хотел бы, чтобы только некоторые пользователи имели доступ к этой бета-версии. Структура моего сервера такая:
/ Вар / WWW / сайт
/ Var / WWW / betasite

Я не хочу, чтобы эти пользователи запускали сайт другого домена / субдомена. Предполагается, что оба сайта работают в одной базе данных WordPress и, следовательно, нуждаются в одном домене. Изменение темы WordPress на основе сеанса / cookie также не возможно, потому что у меня есть много ресурсов / плагинов, которые находятся вне папки wp-content / themes.

Я думал о том, чтобы дать бета-пользователям cookie-файл и перенаправить запросы с этими cookie-файлами в новый корень документа. Я пытался возиться с mod_rewrite htaccess, но после долгих экспериментов, я понял, что mod_rewrite не может перенаправить на вещи вне корня документа apache.
Мне нужна настройка виртуального хоста на основе куки в заголовке запроса. Есть идеи?

2 ответа

Решение

Запуск его в отдельном (суб) домене действительно лучший вариант. Нет причин, по которым вы не можете использовать одну и ту же базу данных в обоих экземплярах, при условии, что обе версии сайта могут использовать одну и ту же схему базы данных.

Единственная проблема, с которой вы можете столкнуться - это проблема, связанная с Wordpress. Например, в базе данных может быть таблица конфигурации, в которой есть поле для текущего имени домена или имени хоста. Мое предложение было бы просто изменить / исправить код WordPress, чтобы он мог работать без этой переменной, просто определяя правильное имя хоста из $_SERVER переменные.

Попробуйте псевдоним в вашей конфигурации vhost

<VirtualHost *:80>

    #config...

    <Directory "/path/to/doc/root">
        #config...
    </Directory>

    Alias /beta /path/to/beta/root
    <Directory "/path/to/beta/root">
        #config..
    </Directory>

</VirtualHost>
Другие вопросы по тегам