Смысл таков: Есть сайт для сдачи в аренду интернет-магазина. На главной странице можно зарегистрировать тестовый период на 15 дней. Тестовый магазин появляется по ссылке http://сайт_сдачи_в_аренду.рф/название_тестового_магазина. Тут проблем нет, все прекрасно работает. После окончания тестового периода пользователю предлагается перейти на платную версию на своем домене. Естественно будут выпускаться обновления, а обновлять потом у сотни клиентов каждый набор скриптов - бред. Самое лучшее, что пришло мне в голову - сделать клиентский сайт одним файлом, который просто будет скачивать страницу с того же тестового сайта, которым клиент пользовался в начале, то есть при запросе http://сайт_клиента.рф/корзина будет показана страница http://сайт_сдачи_в_аренду.рф/тестовый_магазин_клиента/корзина. А AJAX-запросы сделать кроссдоменными к http://сайт_сдачи_в_аренду.рф. Это полностью решит вопрос расширяемости, так как клиентский скрипт никогда не будет меняться, там будет простейший роутер, подгружающий нужную страницу. Собственно вопрос: с помощью чего это лучше всего сделать? Я предполагаю использовать cURL, хотя еще ни разу с ним не работал. По идее проблем возникнуть не должно, кроме одной: что делать с COOKIES? Как они будут проставляться на сайте клиента, и как сервер будет их получать?
Одна копия магазина и базы данных, идентификация по домену и загрузка нужных настроек, данных, зачем делать 100500 копий одних и тех же скриптов.
saas значит что софт работает на нашем сервере а клиент настраивает днс своего сайта на наши адреса. по запросу его сайта посетитель направляется к нашим серверам, наши сервера определяют с каким клиентом нужно работать и подрубает нужные данные. пример saas - livejournal. можно иметь блог example.livejournal.com а можно перенаправлять example.com на livejournal.com - козёл покажет правильный блог.
При чём тут cURL и cookie? Ну cookie могу догадаться можно по ситуации на под папку устанавливать или на домен клиента. Вот возьмём магазин: Домен или подпапка Шаблоны Информация (товары, пользователи, заказы) Есть одна копия скрипта, его логика такова: при запуске он определяет на каком домене загрузили его, идёт в базу или файл настроек по имени домена и находит идентификатор, получает по нему данные, какой шаблон, какие товары показывать, чтобы выводить только конкретно товары магазина example.com, а вот когда кто-то зайдёт на example.org то скрипт уже загрузит товары только те которые принадлежат example.org
Это я и так понимаю. Я задал вопрос - как это лучше реализовать? Я предположил просто скачивать страницу средствами cURL (да в принципе хоть какими, хоть file_get_contents). Да, страница отобразится, да, js подгрузится с http://сайт_сдачи_в_аренду.рф/тестовый_магазин_клиента/, да, кросдоменные запросы на AJAX будут работать. НО! Как будет работать корзина? Как будет работать автоматический вход? Как будут работать куки? Например в корзину я добавляю товар на сайте http://сайт_клиента.рф/, js записывает в куку с товарами добавляемый товар, но эта кука ведь находится на http://сайт_клиента.рф/! А потом мне нужно отправить заказ, произвожу AJAX-запрос на http://сайт_сдачи_в_аренду.рф/ с "просьбой": сервер, оформь заказ. А сервер отвечает: "У Вас в корзине нет товаров!". Естесственно, потому что сервер берет куки с http://сайт_сдачи_в_аренду.рф/, а товар добавлен в куки http://сайт_клиента.рф/! Вот в чем вопрос-то! Добавлено спустя 3 минуты 2 секунды: cURL не причем. Я просто спросил - с помощью чего это реализовать? Предположил cURL. А по поводу кук - другой вопрос, я отписал выше по поводу него.
Всё делаешь как обычно в интернет магазине, только настройки и другие данные грузишь для домена с которого запросили страницу. Посмотри как wordpress работает например http://codex.wordpress.org/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D ... 1%82%D0%B8
Там написано про сайты на поддоменах и в подкаталогах. У меня и так уже все работает: тестовый сайт размещен в подкаталоге. Это работает прекрасно, какие тут могут быть проблемы. Но, я спрашиваю третий раз: как будут работать куки, когда сайт будет располагаться не в подкаталоге, а на отдельном домене? Я же не могу их проставить на домен, с которого грузятся данные, с домена, на котором сидит клиент? Добавлено спустя 3 минуты 50 секунд: Единственный вариант вижу - брать все куки и отправлять их вместе с запросом с домена клиента к "домену-обработчику". Только как это сделать?
Как работает DNS и что делает web сервер есть понимание? Если да, то DNS будет ссылаться на твой web сервер и запускать твой скрипт, и ты сможешь ставить cookie как обычно
Есть конечно, у нас недопонимание, по-моему) Для ускорения работы у меня COOKIE проставляет JAVASCRIPT, чтоб не делать лишних запросов к серверу!!! То есть, когда я кладу товар в корзину - это делает не сервер, а яваскрипт-файл, который соответственно устанавливает куку домену, с которого идет обращение. Вот в чем дело, я и думаю теперь - есть какой-то вариант их передать на "домен-обработчик" или проще сделать, чтоб товар клал в корзину сервер, соответственно куки проставятся на "домен-обработчик".
круто. магазин для сдачи в аренду есть а понимания работы протокола гипертекста и смежных технологий - нет...
Так магазин у тебя в виде виджета? Например как на http://www.ecwid.ru/demo Если не так, то JS ставит и читает куки с того домена на котором он запущен, и проблем не должно быть.
У меня в свое время был магазин автозапчастей, для которого я писал интернет-магазин с нуля с кучей функций, которые просто необходимы именно магазину автозапчастей (загрузка многомиллионных прайс-листов, ценообразование, VIN-запросы, каталоги по VIN-коду, поиск по номеру запчасти с выдачей аналогов и т. п.). Потом с самим магазином я решил завязать, так как надо было либо вкладывать много средств, либо сидеть дальше на относительно низкой прибыли. А сайт-то остался. Я вспомнил, что были такие платформы как http://abcp.ru/ и http://zaptrade.ru/. Полазил, посмотрел функционал их платформ и понял, что я в свое время все это уже сделал (ну не хотелось мне платить по 10000 ежемесячно за их услуги). Я может и не профессиональный программист (иначе не обращался бы сюда), скорее любитель со стажем, не работал никогда программистом и не создавал коммерческих проектов, поэтому и не знаю многих нюансов, но человек предприимчивый, не люблю искать работу, люблю ее создавать. Вот я и решил, что 90% работы уже сделано в свое время, зачем это выкидывать на помойку, когда можно попытаться это развить (не надо только сейчас говорить, что я не справлюсь с этими конкурентами, это уже отдельная тема). Я сделал сайт-презентацию, который будет это дело как бы продавать, на нем можно создать тестовый магазин, который будет располагаться в подкаталоге этого сайта-презентации, он абсолютно полнофункциональный, с панелью администратора, личным кабинетом покупателя, через него в принципе можно вести торговлю. А платная версия будет отличаться только тем, что будет не в подкаталоге, а на домене клиента. Вот я и хочу, чтоб платная версия обращалась к тестовой, брала все подчистую оттуда, разница только в том, что домен будет клиентский, а не мой подкаталожный. У меня все готово, кроме того, как будет организована платная версия. Я сюда и обратился за тем, чтобы мне объяснили, как это реализовать. http://zaptrade.ru/ - у меня по сути копия.
ну отлично. я задачу понял. рвань какое правильное решение описано в моем первом ответе. сделать сервис у себя и сделать его не привязанным к хосту. то есть вебсервер принимает на айпишник (да, нужен будет айпишник) запрос и отправляет его движку. как мы знаем в хттп есть загловок ХОСТ. вот по нему мы и поймем от имени какого хоста к нам пришел запрос. если это наша презентация - показываем ее. если это клиент - показываем его магазин. если клиент торчит нам бабулес - показываем заглушку мол если вы знаете этого парня передайте ему привет. пойдет такой подход?
Я хочу сделать так: У клиента есть тестовый сайт: http://головной_сайт.рф/тестовый_сайт. Он решил перейти на платную версию. Тестовый сайт при этом не удаляется, он и становится этой платной версией, просто он теперь отключится не через 15 дней, а в том случае, если клиент не принес вовремя чемодан денег. Я создаю ему хост, он прописывает настройки в своем домене, на созданный хост я заливаю файл, который будет обращаться к его тестовому сайту (в этом файле простой роутер, который разбивает урл и скачивает страницу с тестового сайта, например: клиент заходит на http://домен_клиента.рф/search?query=06E906036F&brand=VAG, роутер с хоста клиента определяет, что нужно скачать страницу http://головной_сайт.рф/домен_клиента/search?query=06E906036F&brand=VAG, ajax-запросы делаются аналогично, вот и вся логика). Собственно, вопрос был посредством чего скачивать страницу, и как будут вести себя куки. С куками я все понял. А как скачивать страницу вопрос открыт. Это должен быть cURL или можно простым file_get_contents?
что-то муть какая. есть головной сайт. пришел клиент. создал триальчик вида "голова.ру/васька". потестил. рад. купил домен "васька.ру". проплатил сервис. завязал днс. просто тупо отвечать на запросы к "васька.ру" той базой которая была в треале "голова.ру/васька". усё. и никаких контентов не придется гонять. вася хорошо знает верстку? разрешаем ему залить свой шаблончик чтоб наш сервис на казалось бы общие данные натягивал васькин шаблон. и все рады всё ещё. зачем велосипедить описанным выше образом?
Ааа, понял, да, так действительно проще, спасибо) Тогда еще вопрос немного оффтоп, просто чтоб тем лишних не создавать. Подойдет ли какой-нибудь хостинг для старта подобной вещи, чтоб сразу не тратиться на аренду сервера?
хостинг? надо смотреть на загруженность сайта - массхостинг может попросить за пользование слишком большим процессорным временем. и второе - не каждый хостинг согласится вайлдкарты прописывать. так что скорее всего аренда.