Обрабатывать несколько версий в одном URL-адресе

то, что я пытаюсь сделать, - это обрабатывать несколько версий одного и того же веб-приложения, что-то вроде того, что Google делает с некоторыми из своих продуктов, где вы получаете ссылку «Попробовать новую версию».

Цель состоит в том, чтобы иметь как «стабильную», так и «бета-версию» веб-приложения, и позволить пользователям опробовать новые функции, не навязывая им (и их ошибкам) ​​их.

Теперь очень простой способ для этого нужно было бы поместить каждую версию в отдельную подпапку, например www.mywebapp.com/v1 и www.mywebapp.com/v2.

, однако я бы хотел, чтобы это было прозрачно для пользователя и URL-адреса веб-приложения. чтобы остаться прежним (например: www.mywebapp.com/).

Какая версия должна быть загружена, определяется на стороне сервера после входа пользователя в систему (например: активная версия для данного пользователя сохраняется в БД) и может быть позже изменено, когда пользователь щелкает по ссылкам «попробовать новую версию» / «вернуться к старой версии».

На стороне сервера я должен обойтись MySQL, PHP и Apache.

У меня уже есть удалось получить t эта работа: размещение каждой версии в ее собственной подпапке, затем сохранение информации о версии в файлах cookie (обновляется сервером при каждом входе в систему или обновлении страницы) и использование RewriteRule (s) для «прокси» запросов от базового / безверсионного URL-адреса в соответствующую подпапку . Если cookie не установлен, папка по умолчанию выбирается резервным RewriteRule.

Этот кладж работает, но кажется чрезвычайно хрупким и ложится дополнительной нагрузкой на демон Apache, поэтому я спрашиваю, знает ли кто-нибудь лучший способ сделать это.

Спасибо!

8
задан ajreal 10 August 2011 в 11:50
поделиться