Пусть Apache отправит ответ, определенный в файле конфигурации

Я хотел бы мой Apache VirtualHost ответить тем же контентом, независимо от запрошенного URL. Я знаю, что это возможно с дополнительным файлом, содержащим статический ответ ( https://askubuntu.com/a/485017/600828).

Однако содержание моего ответа очень короткое и простое, и я хотел бы знать, возможно ли включить его непосредственно в файл конфигурации сайта Apache (чтобы у меня был только один файл для развертывания и поддержки вместо 2).

1 ответ

Вы можете определить текст для 404 и других состояний ошибки в главном Apache httpd.conf с помощью директивы ErrorDocument https://httpd.apache.org/docs/2.4/custom-error.html

Когда ваш documentRoot пуст и вы не разрешаете списки каталогов, запросы для вашего голого домена должны вызвать ошибку 403, а все остальные URL-адреса вызовут 404, поэтому с помощью следующего (некрасивого) решения вы получите то, что вы хотите

<VirtualHost *:80>
   ServerName www.example.com
   DocumentRoot /path/to/empty/dir 
   ErrorDocument 404 “some text”
   ErrorDocument 403 “some text”
   .,.
 </VirtualHost > 

Обратите внимание, что ваш текст должен быть достаточно длинным, чтобы определенные браузеры не отображали свои дружественные сообщения об ошибках.

Другие вопросы по тегам