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

Не можете понять, как создавать поддомены на Apache?

У меня включен mod_vhost_alias. My GoDaddy DNS A-Record Host = '*' указывает на мой сервер.

В / etc / apache2 / sites-available / 000-default у меня есть

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot /var/www/%0/public_html
    VirtualScriptAlias /var/www/%0/cgi-bin
</VirtualHost>

Но когда я пытаюсь перейти на subdomain.domain.com, я получаю:

не обнаружена

Запрошенный URL / не найден на этом сервере. Работаю весь день! Пожалуйста помоги! Спасибо!

ОБНОВЛЕНИЕ: Итак, я заставил это работать, изменив% 0 на% 1, потому что имена моих папок были «субдоменом», однако теперь, если я перейду на domain.com вместо subdomain.domain.com, я получаю сообщение об ошибке ... Как я могу есть лучшее из обоих миров?

Вот в чем дело: исправьте C: / в моем примере и обновите пути для вашего.

Убедитесь, что у вас есть «NameVirtualHost» вверху раздела vHosts.

<VirtualHost *:80>
    ServerAdmin support@u4ik.us
    DocumentRoot "C:/xampp/htdocs/"
    ServerName u4ik.info
    ServerAlias www.u4ik.info
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin support@u4ik.us
    DocumentRoot "C:/xampp/url/"
    ServerName 2.u4ik.us
    ServerAlias 2.u4ik.us
</VirtualHost>

Думаю, для простоты нужно выбрать одно из двух. Если вы собираетесь использовать Virtualhost, следуйте примеру, предоставленному U4iK_HaZe, например:

<VirtualHost *:80>
    ServerAdmin support@yourdomain.com
    DocumentRoot /yourpath/to/yoursite/
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin support@subdomain.yourdomain.com
    DocumentRoot /yourpath/to/yoursitesubdomain/
    ServerName subdomain.yourdomain.com
    ServerAlias www.subdomain.yourdomain.com
</VirtualHost>

Если вы собираетесь использовать VirtualDocumentRoot, сделайте следующее:

UseCanonicalName Off
VirtualDocumentRoot /yourpath/%0/htdocs

Я думаю, что вы знаете эту часть. Я не уверен, создали ли вы на сервере соответствующие каталоги. % 0 соответствует всему домену, поэтому на сервере, если вам нужно вызвать subdomain1.yourdomain.com, путь к каталогу должен быть:

/yourpath/subdomain1.yourdomain.com/htdocs

Для subdomain2.yourdomain.com:

/yourpath/subdomain2.yourdomain.com/htdocs

Однако, поскольку кажется, что у вас нет большого опыта в сопоставлении с образцом, я настоятельно рекомендую использовать параметр VirtualHost и пока оставить VirtualDocumentRoot в покое.