
У меня есть существующее статическое веб-приложение на S3 за CloudFront, скажем, наexample.com
Я хочу добавить блог WordPress, доступ к которому можно получить по адресуexample.com/blog
Для блога WordPress я настроил сервер EC2 с Apache и WordPress.
Я добавил сервер ec2 в качестве источника в CloudFront, как описаноздесь.
Когда я бегу:
curl example.com/blog
Я получаю:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://ec2-x-x-x-x.us-west-1.compute.amazonaws.com/blog/">here</a>.</p>
<hr>
<address>Apache/2.4.18 (Ubuntu) Server at http://ec2-x-x-x-x.us-west-1.compute.amazonaws.com Port 80</address>
</body></html>
По этой причине я думаю, что проблема не в CloudFront, а в конфигурации сервера Apache.
У меня вопрос: как настроить Apache для такой работы?
значение как подкаталог
решение1
Когда Apache знает, что он сообщит браузеру 301 Moved Permanently, он использует тот, ServerName
который вы указали на <VirtualHost>
уровне или на глобальном уровне.
Если вы не установите его, ServerName
он попытается найти полное доменное имя с помощью эвристики (обратный DNS-запрос для одного из IP-адресов), и вы получите типичный печальный результат.
Примеры:
ServerName example.com
ServerName http://example.com
ServerName https://example.com:8443