Назад | Перейти на главную страницу

Как мне настроить apatch для правильного перенаправления поддоменов

У меня есть домен, скажем, domain.com. Этот домен переходит на сервер с apache на этом сервере. У меня есть три сайта для этого домена:

domain.com (по умолчанию) dev.domain.com mail.domain.com

Каждый из этих доменов имеет каталог в моей папке ~ / public-www / с тем же именем.

Я хочу, чтобы www.domain.com перенаправлял меня на domain.com, я хочу, чтобы development.domain.com перенаправлял меня на dev.domain.com, я хочу, чтобы email.domain.com и epost.domain.com перенаправляли меня на почту .domain.com, и я хочу, чтобы все остальные поддомены перенаправляли меня на сайт domain.com по умолчанию.

Как мне настроить мои сайты apache2, чтобы они работали таким образом и выполняли правильные перенаправления. Кто-то сказал мне, что для того, чтобы поисковые машины правильно индексировали и ранжировали мои сайты, перенаправление должно выполняться с перенаправлением 301 или чем-то в этом роде.

Сначала вам нужно будет убедиться, что вы активировали виртуальный хостинг и убедиться, что модуль mod_rewrite загружен.

Затем напишите в свой файл httpd.conf или отдельным файлом ваши разные виртуальные хосты:

  • начнем с виртуальных хостов для domain.com, dev.domain.com и mail.domain.com
  • затем настройте виртуальные хосты для development.domain.com, epost.domain.com и email.domain.com
  • последний для перенаправления www.domain.com и другие поддомены.

Например, чтобы перенаправить email.domain.com к mail.domain.com, вы можете использовать что-то похожее на следующее:

<VirtualHost *:80>
  ServerName email.domain.com
  ServerAlias epost.domain.com

  <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^(.*) http://mail.domain.com$1 [R=301,L]
  </IfModule>
</VirtualHost>

Вы можете адаптировать его для development.domain.com.

Что касается www.domain.com, ты можешь использовать *.domain.com в ServerAlias директива для соответствия всем остальным поддоменам.