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

Запуск двух разных веб-сайтов с одним IP-адресом

Вот мой файл конфигурации apache. У меня два доменных имени, работающих на одном IP-адресе, но я хочу, чтобы они указывали на разные веб-приложения. Но в данном случае оба указывают на тот, который предназначен для e-yantra.org.

Если я скопирую часть вставки akshar.co.in перед E-yantra.org, оба начнут указывать на akshar.co.in

У меня есть две записи DNS (по одной на доменное имя), указывающие на один и тот же IP-адрес.

NameVirtualHost *:80


<VirtualHost *:80>
    ServerName www.e-yantra.org
    ServerAdmin webmaster@e-yantra.org
    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All 
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    <Directory /var/www/ci/>
        Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
    </Directory>
    <Directory /var/www/db2/>
        Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

<VirtualHost *:80>
    ServerName www.akshar.co.in
    ServerAdmin webmaster@akshar.co.in
    DocumentRoot /var/akshar.co.in

    <Directory /var/akshar.co.in/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

</VirtualHost>

Если вы перейдете на «www.akshar.co.in», он перейдет на вашу тестовую страницу (т.е. «привет, мир»).

Ваша проблема в следующем:

ServerName www.akshar.co.in

Это не соответствует, когда вы просто вводите «akshar.co.in» в качестве URL-адреса, даже если DNS указывает вам правильный IP-адрес.

Я бы порекомендовал следующее дополнение:

ServerAlias akshar.co.in *.akshar.co.in

Это позволит Apache перехватывать URL-адреса, не содержащие www (а также любые другие поддомены), и связывать их с соответствующим виртуальным хостом.

Я бы также порекомендовал эквивалентную инструкцию в другом определении виртуального хоста (чтобы убедиться, что все работает правильно, если вы расширяете и добавляете дополнительные сайты на сервер).