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

Домен и IP должны иметь разные DocumentRoot

Домен указывает на IP / Сервер. Но мне нравится иметь разные documentRoots, если доступ к серверу осуществляется через IP или через домен. Поэтому я строю такую ​​конфигурацию:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerAdmin foo@bar

  DocumentRoot /var/www/localhost
  <Directory /var/www/localhost>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory> 
</VirtualHost>

<VirtualHost *:80>
  ServerAdmin foo@bar
  ServerName example.org
  ServerAlias example.org

  DocumentRoot /var/www/example.org
  <Directory /var/www/example.org>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Проблема в том, что доступ к IP или домену приведет к той же странице. Что я сделал не так?

В вашей конфигурации есть один виртуальный хост с именем сервера example.com, однако у другого виртуального хоста нет директивы имени сервера.

Допустим, ваш IP-адрес 10.0.0.1

Вам необходимо указать имя сервера 10.0.0.1 для виртуального хоста, на который вы хотите ответить на этот ip.

Что-то вроде этого:

<VirtualHost *:80>
  ServerAdmin foo@bar

  ServerName 10.0.0.1

  DocumentRoot /var/www/localhost
  <Directory /var/www/localhost>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory> 
</VirtualHost>