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

Настройка поддоменов на localhost

Я пытался создать поддомен в своей локальной среде разработки, dev.localhost. Я использую Ubuntu 11.10 и Apache2. До сих пор я отредактировал свой файл хоста, включив в него строку 127.0.0.1 dev.localhost. Я создал файл под названием axis в /etc/apache2/sites-available что выглядит так:

<VirtualHost *:80>
    DocumentRoot /var/www/Axis/trunk
    ServerName dev.localhost
    ServerAlias *.localhost

    <Directory /var/www/Axis/trunk/>
            Options Indexes FollowSymLinks MultiViews +Includes
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

Затем я включил сайт с помощью sudo a2ensite axis. Я обнаружил ошибку без имени хоста и добавил строку ServerName localhost к моему default файл в sites-available. Я также столкнулся с ошибкой, связанной с NameVirtualHost, который я решил, добавив NameVirtualHost *:80 к httpd.conf а также комментируя это в ports.conf.

Теперь, когда я перехожу к dev.localhost Я получаю такую ​​же веб-страницу, как если бы я перешел на localhost. Другими словами, оба localhost и dev.localhost указать на /var/www но я хочу dev.localhost указать на /var/www/Axis/trunk.

Есть идеи, где я ошибаюсь? Спасибо

РЕДАКТИРОВАТЬ: вывод из apache2ctl -S

ulimit: 88: error setting limit (Operation not permitted)
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
     default server localhost (/etc/apache2/sites-enabled/000-default:1)
     port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default:1)
     port 80 namevhost dev.localhost (/etc/apache2/sites-enabled/axis:1)
Syntax OK

Вам нужно установить свой /etc/hostsили C:\Windows\system32\drivers\etc\hosts(как администратор), чтобы отразить «поддомен». Так что добавьте 127.0.0.1 dev.localhostв любой файл (в зависимости от вашей платформы).

Однако может оказаться, что «localhost» как есть несколько особенный с точки зрения разрешения доменного имени, поскольку он может не работать как домен. Вместо этого вы можете поставить что-то вроде mylan.localкак имя сервера и dev.mylan.local как субдомен. (вы можете в основном использовать там все, что хотите)

И в конце не забудьте перезагрузить Apache с помощью apache2ctl restart так как ему необходимо перезагрузить его config.