Я только что создал для вас фотографию, чтобы она поняла. Система Linux похожа на дерево. Нижняя часть дерева - «/». / Root - это папка в дереве «/».
У вас это в вашей конфигурации:
ServerName example.com
Это соответствует example.com, но не www.example.com. Это два разных имени. Если вы используете https (как и вы, на основе конфигурации), вам также нужен либо сертификат с несколькими именами, либо подстановочный знак, либо отдельные сертификаты для example.com и www.example.com.
Используйте ServerAlias www.example.com, чтобы добавить псевдоним к ServerName. Это также описано в превосходной документации apache, которая должна быть первой остановкой, когда что-то не работает:
Когда запрос поступит, сервер найдет лучший (наиболее конкретный) аргумент соответствия на основе IP-адреса адрес и порт, используемые в запросе. Если имеется более одного виртуального хоста, содержащего этот адрес наилучшего соответствия и комбинации портов, Apache будет дополнительно сравнивать директивы ServerName и ServerAlias с именем сервера, присутствующим в запросе.У вас это в вашей конфигурации:
ServerName example.com
Это соответствует example.com, но не www.example.com. Это два разных имени. Если вы используете https (как и вы, на основе конфигурации), вам также нужен либо сертификат с несколькими именами, либо подстановочный знак, либо отдельные сертификаты для example.com и www.example.com.
Используйте ServerAlias www.example.com, чтобы добавить псевдоним к ServerName. Это также описано в превосходной документации apache, которая должна быть первой остановкой, когда что-то не работает:
Когда запрос поступит, сервер найдет лучший (наиболее конкретный) аргумент соответствия на основе IP-адреса адрес и порт, используемые в запросе. Если имеется более одного виртуального хоста, содержащего этот адрес наилучшего соответствия и комбинации портов, Apache будет дополнительно сравнивать директивы ServerName и ServerAlias с именем сервера, присутствующим в запросе.