Локальный хостинг: загрузка ZIP и адреса страниц
Как загрузить архив лендинга или оффера в трекер, по каким адресам открывается страница и какие ограничения действуют на архив.
Локальный лендинг или оффер хранится на сервере трекера и открывается на том же домене, что и ссылка кампании. Файлы загружаются ZIP-архивом в редакторе страницы. Загружать архивы и править файлы могут владелец, администратор, тимлид и верстальщик.
Как посетитель видит страницу
Под ссылкой кампании локальная страница отдаётся прямо в ответ на переход. Адрес в браузере остаётся ссылкой кампании. В HTML-код страницы подставляются макросы клика.
Картинки, стили и скрипты загружаются из папки страницы:
- относительные пути (
img/logo.png,css/style.css) работают без правок; - пути от корня сайта (
/img/logo.png) в HTML-коде страницы трекер сам направляет в папку страницы. Это касается атрибутовsrc,href,action,poster,data-srcи записейurl(...); - полные адреса (
https://…и//cdn.example.com/…) остаются как есть.
В отдельных файлах .css и .js пути от корня не меняются: указывайте в них относительные пути.
Под ссылкой кампании отдаётся только индексный файл. Другие HTML-файлы страницы, например thanks.html, открываются по ссылке с него уже по прямому адресу.
Локальный оффер, на который посетитель перешёл с лендинга, отдаётся так же — по адресу перехода, см. Переход с лендинга на оффер и мультиоффер.
Прямые адреса и предпросмотр
У каждой локальной страницы есть прямой адрес на домене трекинга:
| Страница | Адрес |
|---|---|
| Оффер | https://track.example.com/_o/<ID оффера>/ |
| Лендинг | https://track.example.com/_l/<ID лендинга>/ |
ID — полный идентификатор записи. Чтобы скопировать его, нажмите на номер #N в колонке ID списка. После ID можно указать путь к файлу страницы: https://track.example.com/_o/<ID оффера>/img/logo.png.
Прямой адрес открывает кнопка Открыть ↗ в редакторе. Сотрудники без права правки видят в списке кнопку Просмотр — она ведёт на тот же адрес. При таком открытии:
- клик не создаётся;
- в файлах
.htmlи.htmмакрос заменяется, только если в адресе есть параметр с таким же именем. Например,…/_o/<ID оффера>/?click_id=testподставитtestвместо{click_id}. Остальные макросы клика останутся текстом; - в ответе PHP макросы не заменяются;
- пути от корня сайта (
/img/logo.png) в папку страницы не направляются.
Страница, перемещённая в корзину, по прямому адресу отвечает 404.
Загрузка ZIP
Хостинг выбирается при создании записи: в окне «Создать лендинг» — Локальный в поле Тип, в окне «Создать оффер» — Локальный в блоке Хостинг. После создания редактор открывается сам. У созданной записи хостинг в панели не переключается.
Чтобы загрузить архив в существующую локальную страницу:
- Откройте Лендинги или Офферы.
- В строке локальной страницы нажмите Редактор.
- Нажмите Загрузить .zip.
- Выберите архив.
- Если в странице уже есть файлы, подтвердите замену в окне «Архив ЗАМЕНИТ все файлы (N шт.)…».
В пустом редакторе архив можно перетащить в область Перетащите .zip или файлы.
После загрузки появится сообщение «Загружено файлов: N», а слева — дерево файлов.
Что происходит с прежними файлами:
- архив заменяет все файлы страницы целиком, а не дополняет их;
- перед заменой текущий код сохраняется отдельной версией — см. Редактор файлов, версии и экспорт;
- журнал лидов оффера
leads.phpпереносится в новый код. Файлleads.phpиз архива при существующем журнале не применяется — см. Приём лидов из форм; - если загрузка завершилась ошибкой, страница продолжает работать с прежними файлами.
Несохранённые правки в редакторе при загрузке архива пропадают. Сохраните открытый файл до загрузки.
Загрузка отдельных файлов вместо архива
В пустом редакторе в область загрузки можно перетащить и отдельные файлы. Один перетащенный .zip распаковывается. Несколько файлов или файл другого типа кладутся в корень страницы как есть.
К уже загруженной странице файлы без замены кода добавляет ссылка ↑ файлы — см. Редактор файлов, версии и экспорт.
Требования к архиву и лимиты
Принимается обычный ZIP без пароля. Архивы со сжатием LZMA и с шифрованием отклоняются.
| Параметр | Предел |
|---|---|
| Размер архива | 1 ГБ |
| Размер всех файлов после распаковки | 1 ГБ |
| Число файлов в странице | 10 000 |
| Время передачи архива на сервер | 10 минут |
Прокси перед панелью, например Cloudflare, может ограничивать размер загрузки меньшим значением.
Если все файлы архива лежат в одной общей папке, например site/, трекер отбрасывает её и кладёт содержимое в корень страницы. Если рядом с этой папкой в архиве есть другие файлы или папки, структура сохраняется как есть.
Что пропускается при распаковке
Эти записи архива не попадают на сервер, ошибки при этом нет:
- символические ссылки;
- файлы
.user.ini; - записи с
..в пути.
Обратные слэши в именах файлов заменяются на прямые.
Индексный файл
Страница открывается файлом из корня. Трекер берёт index.php, если файл есть и PHP включён. Иначе открывается index.html.
Если нет ни одного из них, посетитель получит 404. То же правило действует для вложенных папок: адрес …/_o/<ID оффера>/thanks/ откроет thanks/index.php или thanks/index.html.
Скрытые файлы
Файлы и папки, имя которых начинается с точки (.env, .git, .htaccess), посетителю не отдаются: запрос к ним получает 404. В версии и в экспорт ZIP они не входят.
В дереве файлов редактора такие файлы видны, но редактор их не открывает, не создаёт, не переименовывает и не удаляет. Чтобы убрать их, загрузите архив без этих файлов.
Проверка
- В редакторе нажмите Открыть ↗.
- Проверьте в новой вкладке, что страница открылась, а картинки и стили загрузились.
Макросы клика проверяются тестовым переходом по ссылке кампании — см. Первая кампания.
Ошибки загрузки
Сообщение появляется над редактором.
| Сообщение | Причина | Что сделать |
|---|---|---|
| «файл не является корректным .zip» | Файл не открывается как ZIP-архив | Пересоберите архив в формате ZIP |
| «архив сжат неподдерживаемым методом (LZMA, AES-шифрование и т.п.) — пересоберите обычным ZIP без пароля» | Архив с паролем или со сжатием, которое трекер не распаковывает | Пересоберите обычным ZIP без пароля |
| «архив повреждён — пересоберите его и загрузите заново» | Файлы внутри архива повреждены | Соберите архив заново |
| «слишком много файлов» | В архиве больше 10 000 файлов и папок | Уберите лишние файлы |
| «файл слишком большой (лимит 1 ГБ на файл, 1 ГБ на распакованный архив)» | После распаковки файлы занимают больше 1 ГБ | Уменьшите объём файлов |
| «превышен лимит загрузки 1 ГБ» | Сам архив больше 1 ГБ | Уменьшите архив |
| «не удалось прочитать форму (загрузка прервана или повреждена)» | Соединение оборвалось или передача не уложилась в 10 минут | Повторите загрузку |
| «PHP-код оффера с доступом в интернет меняют только owner/admin» | У оффера включён PHP с доступом в сеть, а архив загружает тимлид или верстальщик | Архив загружает владелец или администратор — см. PHP в локальных страницах |