Другой корень документа для бета-пользователей?
У меня есть 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>