Возможно, это не ответ на ваши проблемы.Но ваш вопрос ушел 6 часов без ответа, поэтому я подумал, что я должен дать пару альтернативных идей.Возможно, это подстегнет креативность в умах других читателей.:)
Они отсортированы в порядке того, насколько аккуратным решением я лично считаю.
Всегда есть поддомен, даже если у пользователя есть свой
Следуя вашему примеру, вы можете показывать исключительно статические страницы на www.joebloggs.com
со ссылками для входа в систему, которые ссылаются на joebloggs.myapp.com
.Если пользователь уже вошел в систему, фактический шаг входа в систему можно пропустить, так как файлы cookie будут доступны.
Для этого потребуется, чтобы у всех пользователей был субдомен, даже если они указывают свой собственный домен.
Обслуживание статических страниц и использование межсайтового AJAX
Существует относительно новый черновой стандарт, называемый Cross-Origin Resource Sharing , который разрешает запросы AJAX между доменами.Firefox поддерживает его начиная с версии 3.5, и есть несколько более читаемых (чем спецификация W3) примеров того, как это работает на практике, в Mozilla Developer Center .
Помимо Firefox 3.5,это поддерживается в IE 8. Это в более новых версиях Chrome и Safari, но я не могу точно определить, с какой версии.(Набор изменений Webkit # 41046.) Я не могу найти ничего определенного об Opera.
Также обратите внимание, что запросы, не относящиеся к GET, имеют дополнительные издержки по сравнению с запросом перед полетом.
Служитьдинамические части с iframe
iframe могут быть хорошо скрыты с помощью некоторого CSS, и могут отображаться на странице без проблем.Вы можете обслуживать динамические части вашей страницы, используя фреймы, указывающие на myapp.com
.Это будет работать достаточно хорошо, если динамическая часть - это просто часть заголовка страницы с некоторой информацией об учетной записи и ссылками, например.
Если вы планируете скрывать контент на основе привилегий пользователя, вы можете принять это какДо того, как обслуживать всю область содержимого страницы в виде iframe.
Недостатком является то, что некоторые браузеры могут жаловаться на смешанное простое и защищенное содержимое.
Классическое скрытие за невидимым-фреймовый трюк
Множество сайтов, которые раньше размещались на таких платформах, как Geocities, имели те свободные домены .tk
, которые «скрывают» сайт за красивым URL в адресной строке.Хитрость заключалась в том, что домен .tk
обслуживал набор фреймов с невидимым фреймом и еще один фрейм, покрывающий все окно, которое будет обслуживать сайт Geocities.
Это некрасиво Конечно, но я должен был это упомянуть.Это означает, что адресная строка не будет обновляться с помощью навигации по ссылкам на вашем сайте и всегда будет отображать корневой URL.Это также пренебрегает множеством возможных преимуществ наличия отдельного домена.И он может даже иметь тот же недостаток, что и предыдущий трюк с фреймами.