Другой корень документа для бета-пользователей? - PullRequest
1 голос
/ 11 мая 2011

У меня есть php-приложение на основе wordpress, работающее на apache на сервере ubuntu. Я разработал новую версию приложения и хотел бы, чтобы только некоторые пользователи имели доступ к этой бета-версии. Структура моего сервера такая:
/ Вар / WWW / сайт
/ var / www / betasite

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

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

Ответы [ 2 ]

1 голос
/ 11 мая 2011

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

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

0 голосов
/ 11 мая 2011

попробуйте псевдоним в вашей конфигурации 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>
...