Я просмотрел всевозможные решения в Интернете и ничего не нашел. Я не могу обратиться за помощью к веб-хосту, потому что это не моя учетная запись хостинга; Настраиваю для клиента. У моего клиента есть доменное имя через какого-то регистратора доменов и веб-хостинг через iPower. Для примера предположим, что их доменное имя domain.com
. Я хочу указать sub.domain.com
к domain.com/sub
прозрачным способом (чтобы посетитель набирал sub.domain.com
и их адресная строка продолжала бы показывать это как домен, никогда не переключаясь на domain.com/sub
).
Инструменты I не иметь:
Инструменты I делать иметь:
Панель управления регистратора домена предлагает обычную возможность устанавливать CNAME, записи MX, записи A и т. Д. Панель управления хостингом iPower также имеет своего рода «призрак» домена на панели управления доменом, и хотя он сообщает мне, домен зарегистрирован в другом месте, это позволяет мне вводить такие вещи, как записи DNS и поддомены.
Пока что у меня есть домен, настроенный на регистраторе с записью A, указывающей на IP-адрес сервера. Я попытался установить аналогичный A-рекорд на iPower, но безрезультатно. То же самое с субдоменом и CNAME. Он отправляет запросы только на sub.domain.com
непосредственно к файлам в папке public_html (то же, что отображается в domain.com
. Я попробовал представленное правило mod_rewrite ВОТ, но, похоже, никакого эффекта. Я также попробовал представленное правило mod_rewrite ВОТ, но когда я попробовал, у меня возникла ошибка сервера 500 (я уверен, что изменил его неправильно, но я не знаю, что я сделал не так). Когда у меня была соответствующая запись А и субдомен, настроенный в панели управления доменом iPower, вместо того, чтобы направлять посетителей на корневой сайт, он отображает страницу с надписью «В каталоге нет файла индекса. Просмотр этого сайта или каталога без файла индекса запрещен». хотя там является индексный файл в этой папке. Есть много файлов в этой папке (установка Drupal) и доступ domain.com/sub
непосредственно производит рабочий сайт.
Так. С учетом всего сказанного, есть ли у кого-нибудь прямые указания, которым я могу следовать? Пожалуйста, помните, что у меня есть доступ только к файлам .htaccess и панелям управления доменом, но нет доступа к файлам Apache .conf, поэтому я не могу делать ничего, как ServerAlias.
Я знаю, что это не должно быть так сложно, но ничего из того, что я пробовал ни из одного из направлений или статей, которые я нашел, которые применимы к моей ситуации, не помогло.
Я слегка смущен этой проблемой, поскольку у меня был собственный веб-хостинг с несколькими доменами и поддоменами в течение нескольких лет, но я был избалован способом работы cPanel, размещением моих доменов и файлов и удалось там же. Я могу писать код на нескольких разных языках, могу чинить сломанные компьютеры и другие технологии, но не могу понять, как настроить веб-сервер. Разочарование.
Заранее благодарим вас за помощь и совет. Я часто нахожу нужные мне ответы, просто ища и затаившись здесь и там в этой сети сайтов вопросов и ответов, но в этом случае я, очевидно, что-то упустил.
1) просто примечание. Вы не можете настроить sub.domain.com без помощи регистратора, если на domain.com не работает ваш собственный DNS-сервер. Однако я понимаю, что это уже сделано.
2) вещи, которые должны быть в существующем Apache httpd.conf, иначе вам не повезло:
а) RewriteEngine включен. б) Apache принимает запросы для sub.domain.com
Если и то, и другое в порядке, то я полагаю, вы сможете выполнить перезапись через .htaccess следующим образом:
RewriteEngine On
RewriteCond %{HTTP_HOST} domain.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/sub(.*) http://sub.domain.com/$1 [R=301,L]
Детали могут различаться в зависимости от того, какие веб-страницы настроены для URL-адреса сайта, а также от того, хотите ли вы использовать один или несколько субдоменов и т. Д.