<!--#include virtual="menu.html" -->
не работает, а
<!--#include virtual="/menu.html" -->
работает.
<!--#include virtual="menu.html" -->
не попадает ни в один location из "/", "~* \.shtml$" и "/cgi-bin"
и обрабатывается в конфигурации сервера, и скорее всего, для него
используется файл /home/cbr/public_htmlmenu.html, не разделённый слэшем.
А сложно ли будет восстановить привычное Апачевское поведение?
include
[...]
virtual
The value is a (%-encoded) URL relative to the current document
being parsed. [...] If it does not begin with a slash (/) then it
is taken to be relative to the current document.