Назад | Перейти на главную страницу

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

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

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

Вы можете определить текст для 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 > 

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