HTTP-сервер Apache 2.4.41 неправильно обслуживает страницы виртуального хоста

Мой httpd-vhosts.conf выглядит так:

<VirtualHost *:80>
    DocumentRoot "C:/Apache24/htdocs/rodde.net"
    ServerName rodde.net
    ServerAlias www.rodde.net
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/Apache24/htdocs/coderodde.net"
    ServerName coderodde.net
    ServerAlias wwww.coderodde.net
</VirtualHost>

Мой C: Windows \ System32 \ drivers \ etc \ hosts содержит:

127.0.0.1 localhost
127.0.0.1 www.coderodde.net
127.0.0.1 www.rodde.net
127.0.0.1 rodde.net
127.0.0.1 coderodde.net

Мой C: \ Apache24 \ htdocs \ rodde.net \ index.html содержит:

<html>
<body>
<h1>
rodde.net works!
</h1>
</body>
</html>

Мой C: /Apache24/htdocs/coderodde.net/index.html содержит:

<html>
<body>
<h1>
coderodde.net works!
</h1>
</body>
</html>

Мой C: /Apache24/htdocs/index.html содержит:

<html>
<body>
<h1>Apache HTTP Server 2.4.41 works!</h1>
</body>
</html>

Наконец, httpd.exe -S :

C:\Apache24\bin>httpd -S
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server rodde.net (C:/Apache24/conf/extra/httpd-vhosts.conf:23)
         port 80 namevhost rodde.net (C:/Apache24/conf/extra/httpd-vhosts.conf:23)
                 alias www.rodde.net
         port 80 namevhost coderodde.net (C:/Apache24/conf/extra/httpd-vhosts.conf:29)
                 alias wwww.coderodde.net
ServerRoot: "C:/Apache24"
Main DocumentRoot: "C:/Apache24/htdocs"
Main ErrorLog: "C:/Apache24/logs/error.log"
Mutex default: dir="C:/Apache24/logs/" mechanism=default
PidFile: "C:/Apache24/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: SRVROOT=c:/Apache24

Моя проблема заключается в следующем: '

  1. Когда я посещаю rodde.net или www.rodde.net , я вижу текст rodde.net работает! , как я и должен.
  2. ] Когда я захожу на coderodde.net , я вижу текст coderodde.net работает! , как я и должен.
  3. Однако , когда я посещаю www. coderodde.net или localhost , я вижу текст rodde.net работает! .
0
задан 26 March 2020 в 10:16
1 ответ
 сервер по умолчанию rodde.net (C: /Apache24/conf/extra/httpd-vhosts.conf: 23)
 

Это ваш сервер по умолчанию, то есть виртуальный хост по умолчанию. Он используется каждый раз, когда нет явного соответствия ServerName или ServerAlias ​​. Это тот случай, когда вы посещаете, например, http: // localhost .

 порт 80 имяvhost coderodde.net (C: /Apache24/conf/extra/httpd-vhosts.conf: 29)
  псевдоним wwww.coderodde.net
 

У этого виртуального хоста два имени: coderodde.net и wwww.coderodde.net , с четырьмя w . Вот почему он не сопоставляет www.coderodde.net с тремя w, вместо этого используется виртуальный хост по умолчанию. Это называется опечаткой .

1
ответ дан 30 March 2020 в 01:21

Теги

Похожие вопросы