Как мне создать поддомен, такой как http://user.mywebsite.com ? Должен ли я получить доступ к htaccess как-то? На самом деле это просто можно создать с помощью чистого PHP-кода или мне нужно использовать какой-нибудь внешний язык скриптового сервера?
Тем, кто ответил: Хорошо, тогда я должен спросить мой хостинг, предоставляют ли они какой-нибудь доступ к DNS?
wildcard subdomains
это может быть достигнуто в.htaccess
. Смотрите мое решение.Ответы:
Вы ищете, чтобы создать пользовательскую запись .
Я уверен, что вы можете использовать подстановочные знаки при указании записей A, которые позволят вам сделать что-то вроде этого:
127.0.0.1 будет IP-адрес вашего веб-сервера. Способ фактического добавления записи будет зависеть от вашего хоста.
Делать это как http://mywebsite.com/user было бы намного проще в настройке, если бы это было возможно.
Затем вы можете просто добавить файл .htaccess, который выглядит следующим образом:
Выше имена пользователей ограничены символами az
Правило перезаписи для захвата субдомена будет выглядеть так:
источник
Функция, которую вы ищете, называется Wildcard Subdomains . Это позволяет вам не настраивать DNS для каждого субдомена, а вместо этого использовать перезапись apache для перенаправления. Вы можете найти хороший учебник здесь , но есть тысячи учебников там. Вот необходимый код из этого урока:
Однако, поскольку он требует использования VirtualHosts, он должен быть установлен в файле httpd.conf сервера, а не в локальном .htaccess.
источник
Я делаю это немного отличается от Марка. Я передаю весь домен и хватаю поддомен в php.
Это игнорирует изображения и отображает все остальное в мой файл index.php. Так что, если я пойду к
Я вернусь
Затем в своем коде index.php я просто взорваю свое имя пользователя вне hostName. Это дает мне красивые красивые SEO URL.
источник
Мы настраиваем подстановочный DNS, как они объяснили выше. Таким образом, запись * .yourname.com
Тогда все субдомены фактически отправляются в одно и то же место, но PHP обрабатывает каждый субдомен как отдельную учетную запись.
Мы используем следующий код:
Этот код просто устанавливает
$account
переменную так же, как субдомен. Затем вы можете получить их файлы и другую информацию на основе их учетной записи.Это, вероятно, не так эффективно, как перечисленные выше способы, но если у вас нет доступа к BIND и / или ограниченному .htaccess, этот метод должен работать (до тех пор, пока ваш хост установит подстановочный знак для вас).
На самом деле мы используем этот метод для подключения к базе данных клиентов для приложения электронной коммерции для нескольких компаний, но он также может работать для вас.
источник
Не суетитесь с файлами .htaccess, когда вы можете использовать массовый виртуальный хостинг Apache .
Из документации:
В некотором смысле это обратный вопрос: каждый «поддомен» является пользователем. Если пользователь не существует, вы получите 404.
Единственным недостатком является то, что переменная окружения
DOCUMENT_ROOT
неправильно установлена на используемый подкаталог, но по умолчанию document_root в de htconfig.источник
Простое PHP-решение для поддоменов и многодоменных веб-приложений
Шаг 1. Укажите запись DNS A в виде «*» для доменов (или доменов), которые вы собираетесь обслуживать «example.org»
Шаг 2. Проверка уникальности логинов при регистрации пользователя или смене логина. Также избегайте точек в этих логинах.
Шаг 3. Затем проверьте запрос
Это решение может обслуживать разные домены
Если вам нужны одинаковые ники на разных доменах, обслуживаемых по-разному, вам может потребоваться сохранить выбор пользователя для домена при регистрации логина.
источник
Вы могли бы [потенциально] переписать URL, но да: вы должны контролировать свои настройки DNS, чтобы при добавлении пользователя он получал свой собственный поддомен.
источник
В дополнение к изменениям конфигурации на вашем WWW-сервере для обработки нового субдомена ваш код должен будет вносить изменения в ваши записи DNS. Таким образом, если вы не используете свой собственный BIND (или аналогичный), вам необходимо выяснить, как получить доступ к конфигурации вашего провайдера серверов имен. Если они не предлагают какой-то API, это может быть сложно.
Обновление: да, я бы уточнил у вашего регистратора, предоставляют ли они также услугу сервера имен (как это часто бывает). Я никогда раньше не изучал этот вариант, но подозреваю, что большинство регистраторов потребителей этого не делают. Я гуглил для GoDaddy API и GoDaddy DNS API, но не смог ничего найти, поэтому думаю, что лучшим вариантом будет обратиться к онлайн-справке с вашим провайдером, и если это не ответит на вопрос, возьмите под контроль их вспомогательного персонала.
источник
Во-первых, вам нужно убедиться, что ваш сервер настроен на использование подстановочных субдоменов. Я добился этого в JustHost, создав поддомен с именем вручную
*
. Я также указал папку, называемуюsubdomains
корнем документа для подстановочных доменов. Добавьте это в.htaccess
файл в папке поддоменов:Наконец, все, что вам нужно сделать, это создать папку в папке ваших поддоменов, а затем поместить файлы поддоменов в этот каталог.
источник
Это может быть достигнуто в
.htaccess
условии, что ваш сервер настроен на использование подстановочных доменов. Я добился этого в JustHost, создав поддомен с именем, указанным вручную,*
и указав папку с именем поддоменов в качестве корня документа для подстановочных доменов. Добавьте это в свой.htaccess
файл:Наконец, создайте папку для вашего поддоменов и разместите файлы поддоменов.
источник
Я просто хотел добавить, что если вы используете CloudFlare (бесплатно), вы можете использовать их API для легкого управления вашими DNS.
источник
(1) Root .htaccess
Этот файл перенаправляется с http://www.yourwebsite.com на http://yourwebsite.com для использования на домашней странице. Перенаправление всех поддоменов в папку yourwebsite_folder
(2) Внутри папки .htaccess
Этот файл переписывает URL субдомена.
http://yourwebsite.com/index.php?siteName=9lessons to http://9lessons.yourwebsite.com
Дополнительные советы .htaccess: руководство по использованию файлов Htaccess и советы.
index.php
Этот файл содержит простой код PHP с использованием регулярных выражений, проверяющих значение субдомена.
Папка без субдомена
Если вы используете корневой каталог (htdocs / public_html) в качестве каталога проекта, используйте следующий файл .htaccess.
источник