Могу ли я динамически создавать субдомены (PHP, .htaccess) с помощью GoDaddy Hosting? - PullRequest
0 голосов
/ 08 мая 2011

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

Я исследовал другой учебник, который будет использовать .htaccess для перенаправления субдомена в папку в корне моего домена (например, с sub.domain.com на domain.com/sub). Вот мой код:

#Grab the subdomain from the domain
RewriteCond %{HTTP_HOST} ^([^.]+).MY-DOMAIN.com$
#Make sure the subdomain is not www or example
RewriteCond %{1} !^(www)$
#Check if the directory actually exists before we go there
RewriteCond /home/content/X/Y/Z/XYZ-MY-GODADDY-ACCT/html/%1 -d
#This stops it from looping
RewriteCond %{REQUEST_FILENAME} !^/home/content/X/Y/Z/XYZ-MY-GODADDY-ACCT/html/
#Finally, this is the actual rewrite
RewriteRule (.*) /home/content/X/Y/Z/XYZ-MY-GODADDY-ACCT/html/%1 [L]

На данный момент я сделал следующее:

  1. Зашел в GoDaddy Domain Manager.
  2. Пошел в Инструменты> Диспетчер DNS.
  3. Открыт редактор файлов зон для моего домена.
  4. Добавлена ​​запись A (Host) с именем хоста *, а в Points to IP Address я скопировал значение с IP-адреса @ entry, поскольку оно должно совпадать с моим доменом ...?
  5. Теперь, после ожидания, пока серверы имен или что-то еще обновятся, распространятся и прочее, я получаю ошибку 403 при попытке получить доступ к поддомену.

Есть предложения?

Ответы [ 3 ]

1 голос
/ 05 ноября 2012

Мне посоветовали переместить мой ответ с здесь на этот вопрос:

Хотя это не то же самое, что возможность создания новой записи vhost для каждого динамически добавляемого субдомена, вы должнывозможность настроить это с помощью записи DNS с подстановочным знаком и добавив выделенный IP-адрес к вашей учетной записи хостинга.Вы можете добавить выделенный IP-адрес в свою учетную запись хостинга, используя этот метод:

  1. Нажмите Веб-хостинг.
  2. Нажмите Параметры, а затем перейдите на вкладку Настройка.
  3. ИзВ меню «IP-адрес сервера» выберите «Выделенный».
  4. Если вы уже приобрели выделенный IP-адрес, нажмите «Применить выделенный IP-кредит».ИЛИ Если вам нужен выделенный IP-адрес, нажмите «Оформить заказ», а затем завершите покупку.

ПРИМЕЧАНИЕ. Выделенные IP-адреса могут стать активными в вашей учетной записи хостинга в течение 24 часов.

Вы можете настроить * .yourdomain.com для использования выделенного IP-адреса вашей учетной записи общего хостинга в нашем диспетчере DNS.

  1. Перейдите в редактор файлов зон для имени домена, который вы хотите обновить.
  2. Нажмите Добавить новую запись.Откроется окно Добавить запись DNS.
  3. В списке Тип записи выберите A (Хост).
  4. Заполните следующие поля: Имя хоста - Ввести * Указывает на IP-адрес - Введите выделенный IP-адресадрес вашей учетной записи хостинга.TTL - выберите, как долго сервер должен кэшировать информацию.
  5. Нажмите OK.
  6. Нажмите Сохранить файл зоны, а затем нажмите OK.Новая запись A отображается в разделе A (Host).
1 голос
/ 09 мая 2011

DNS - это только 1 часть конфигурации.Вам необходимо иметь ServerAlias ​​для * .mydomain.com в конфигурации для виртуального хоста в Apache, в противном случае Apache не будет иметь никакого представления о том, куда направлять запросы для * .mydomain.com - что означает, что .htaccess никогда не сможетработать вообще.

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

0 голосов
/ 20 июля 2016

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

В своей учетной записи на https://gateway.godaddy.com выберите Хостинг из выпадающего списка, а затем на открывшейся странице выберите Настройки. В открывшемся модальном окне нажмите кнопку «Изменить домен» и войдите в фиктивный домен (обратите внимание, что фиктивный домен не нужно регистрировать или вводить в DNS. Это изменит ваш домен по умолчанию на фиктивный домен, который будет находиться в папка public_html.

После того, как вы это сделаете, перейдите в cPanel и выберите Addon Domains в зеленой строке меню вверху. Введите новый домен и введите имя зарегистрированного домена, затем укажите корневой каталог документа (DocRoot). Путь может быть каталогом, находящимся полностью вне папки public_html, поэтому вы можете создать дружественный для Laravel путь, такой как webroot / mydomain.com / public, и установить Laravel в webroot / mydomain.com.

Аналогично, вы можете указать похожие пути для поддоменов.

Надеюсь, это поможет всем, кто смотрит на это.

...