Intereting Posts
Omega & delta: рендеринг названия узла в блоке Просмотры – добавьте обертку DIV вокруг группы Могу ли я указать местоположение .tpl.php при использовании препроцессорных перехватчиков? Файловая ссылка создается без периода до типа файла Хранить fid файла file_load в profile2 Ошибка 403 в запросе AJAX Какое правильное имя файла шаблона? Создание учетных записей пользователей из типа содержимого Как добавить атрибут заголовка в поля заголовков с обрезами? Как отобразить пользовательский блок без обложенного по умолчанию html Как солить оболочку поля <input> в пользовательском <div> -wrapper в Webform 4.x? Просмотры: отображать только первое значение из поля содержимого в справочнике сотрудников Добавление узлов к терминам вместо терминов к узлам Создание представления, отображающего все события и пользователей, которые зарегистрировались для каждого события Вкладка «Редактирование / просмотр» в регионе, отличном от содержимого

Как связать 1000 припаркованных доменов с узлами, каждый с заголовком узла, соответствующим доменному имени

Я хо&#x447;у построить сайт Drupal в D7, который может размещать тысячи припаркованных доменов в качестве домашних страниц для посадки. Целью является создание системы для доменного брокера для размещения многих припаркованных доменов, каждая со своей собственной страницей продаж на своем корневом корне для домена.

Модуль доступа к домену работает с аналогичной целью, но мой опыт в том, что он работает до 10 доменов, после чего возникают серьезные проблемы использования и производительности.

Поэтому я ищу простую альтернативу. Мне нужна только одна страница на домен, с доменом как title (example.com) и контактная форма, которую могут использовать потенциальные покупатели домена.

Предположение: 1000 доменов были припаркованы в домене установки drupal.

Если я создам 1000 узлов с соответствующими заголовками (example.com), как сделать каждый узел главной страницей каждого припаркованного домена? Возможно, использование .htaccess переписывает, но Im не очень хорошо. При перенаправлении припаркованный домен должен оставаться в качестве адреса браузера.

Альтернативой может быть создание одной пользовательской страницы панели и использование токенов для использования URL-адреса домена в заголовке и тексте продаж и форме контакта. Контактная форма – это стандартная контактная форма, которая отправляет электронное письмо администратору сайта.

Solutions Collecting From Web of "Как связать 1000 припаркованных доменов с узлами, каждый с заголовком узла, соответствующим доменному имени"

Я предполагаю, что у вас есть поле на ваших узлах с именем field_domain .

На вашем сайте:

  1. Создайте новый узел. Это будет место.
  2. Получите NID.
    a) Go go /admin/content/
    b) Нажмите «Изменить» на этом узле-заполнителе. c) Проверьте URL-адрес. Это будет в форме:
    /node/<NID>/edit
    Получите этот NID .
  3. Иди к своей теме.
  4. В папке шаблонов создайте файл с именем:
    node--NID.tpl.php так что-то вроде: node--78.tpl.php
  5. В этом файле введите следующий контент:
   <? PHP
     $ query = new EntityFieldQuery ();

     $ query-> entityCondition ('entity_type', 'node')
       -> entityCondition ('bundle', 'article')
       -> propertyCondition ('status', 1) // опубликовано
       -> fieldCondition ('field_domain', 'value', $ _SERVER ['SERVER_NAME'], '=');
     $ result = $ query-> execute ();

     $ nid = array_keys ($ result ['node']) [0];
     if ($ nid) {
       $ nodeObj = node_load ($ nid);
       $ nodeRndr = node_view ($ nodeObj);
       печать (drupal_render ($ nodeRndr));
     }

Вам нужно обновить 2 вещи:

article к названию используемого вами типа содержимого.
field_domain к имени машины используемого вами поля.

  1. Теперь перейдите в admin/config/system/site-information
  2. Измените переднюю страницу на node/NID где NID – значение из # 4.

Объяснение:

Что делает этот код, это проверка $_SERVER['SERVER_NAME'] . Это должен быть домен, который используется. Используя это, он смотрит, есть ли node с полем field_domain который имеет значение, которое соответствует $_SERVER['SERVER_NAME'] .

Если есть совпадение, он будет загружать узел и отображать его.

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

Надеюсь это поможет.


Исходный комментарий:

Вы рассматривали возможность написания кода?

Если единственным отличием является название. Я бы создал небольшой модуль, который:

  1. При установке создается таблица с доменом и столбцом заголовка.
  2. Когда страница загружается, считывает таблицу и сопоставляет домен и выбирает заголовок.
  3. С заголовком, на … hook_preprocess_page (возможно) вы можете установить заголовок

Я думаю, что есть немного больше возможностей, которые вы хотите. Если вы действуете как брокер или если это только один владелец, вы, вероятно, отправляете электронное письмо. Таким образом, вам понадобится домен, который был посещен в форме как минимум.

Вы можете сделать это, указав скрытое поле и установив значение на нагрузке.

Или при отправке формы, ее чтении и обработке.


Если это больше похоже на рынок, и вы отправляете электронное письмо владельцу, которое будет меняться в зависимости от домена.

Я думаю, что обработка, которая после факта и только одна форма, вероятно, была бы более эффективной, чем наличие формы для домена.


Это зависит от варианта использования. Просто предлагаю другой вариант.

Вы можете думать о наличии архитектуры нескольких сайтов, в основном разных сайтах, использующих одну и ту же базовую базу кода, или они могут иметь специфичную для сайта кодовую базу, но другую базу данных.

ИЛИ

Вы можете попробовать следующее: –
– Комбинация субдомена и органической группы .
– Модуль Just Subdomain

Хотя ответ rovr138 работает для рендеринга узла целевой страницы на главной странице, он отображается внутри другого узла, изменяя его шаблон. Недостатком этого решения является то, что ключевые слова или ключевые слова контекста панели недоступны для целевой страницы, поскольку она отображается внутри другого узла. Включение информации о целевой странице в формы на целевой площадке является существенным. Для этого может быть обходной путь, но я в конечном итоге выбрал простое решение, включающее в себя перезаписываемый файл в моем файле .htaccess, в котором «example.com» является моей домашней страницей компании:

  # Rewrite Request for parked domains '/' to landing page RewriteCond %{HTTP_HOST} !=example.com RewriteCond %{HTTP_HOST} (.+)\.(\w+) RewriteRule ^/?$ ?q=landingpage/%1-%2 [L]