Договоримся, что index.php в папке www1 выведет "www1", index.php в папке www2 выведет "www2" и т.д.
Что выведет браузер, если...
Задача №1:
- в адресной строке набрать tm1
- содержание файла hosts:
192.168.0.3 tm1
- в роутере (ip 192.168.0.1) настроен проброс 80 порта на компьютер 192.168.0.3, компьютер с ip 192.168.0.2 выключен
- на компьютере 192.168.0.3 установлена служба Apache, слушающая 80 порт
- содержание httpd-vhosts.conf:
Спойлер (Отобразить)#NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "d:/www2"
ServerName tm2
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "d:/www1"
ServerName tm1
</VirtualHost>
- содержание httpd.conf:
Спойлер (Отобразить)ServerName www1
DocumentRoot "d:/www3"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "d:/www1">
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
<Directory "d:/www2">
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
<Directory "d:/www3">
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
Задача №2:
Все также как и в первой задаче, поменялось только:
- содержание httpd-vhosts.conf:
Спойлер (Отобразить)<VirtualHost 192.168.0.3:80>
DocumentRoot "d:/www1"
ServerName tm1
</VirtualHost>
NameVirtualHost *:80
<VirtualHost 127.0.0.2:80>
DocumentRoot "d:/www2"
ServerName tm3
</VirtualHost>
Задача №3:
Все также как и в первой задаче, поменялось только:
- содержание httpd-vhosts.conf:
Спойлер (Отобразить)#NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "d:/www1"
ServerName tm3
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "d:/www2"
ServerName tm1
</VirtualHost>
Задача №3:
Все также как и в первой задаче, поменялось только:
- содержание файла hosts:
[внешний ip роутера] tm1
- содержание httpd-vhosts.conf:
Спойлер (Отобразить)#NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "d:/www1"
ServerName tm3
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "d:/www2"
ServerName tm1
</VirtualHost>
Задача №4:
Все также как и в первой задаче, поменялось только:
- содержание файла hosts:
[внешний ip роутера] tm1
- содержание httpd-vhosts.conf:
Спойлер (Отобразить)NameVirtualHost *:80
<VirtualHost 192.168.0.3:80>
DocumentRoot "d:/www1"
ServerName tm2
</VirtualHost>
<VirtualHost [внешний ip роутера]:80>
DocumentRoot "d:/www2"
ServerName tm1
</VirtualHost>
- содержание httpd.conf:
Спойлер (Отобразить)ServerName www1
DocumentRoot "d:/www3"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "d:/www1">
AllowOverride All
Order deny,allow
Allow from all
</Directory>
<Directory "d:/www2">
AllowOverride All
Order deny,allow
Allow from all
</Directory>
<Directory "d:/www3">
AllowOverride All
Order deny,allow
Allow from all
</Directory>
Специально подобраны "кривые" значения. Такое можно часто увидеть в конфигах новичков и, зачастую, в своем тоже.
Просьба на свои ответы давать объяснения, в апаче не проверять.
(Отредактировано автором: 28 Декабря, 2013 - 12:09:47)
|