Полномочия, отклоненные на апаче, переписывают модуль виртуальная конфигурация хоста

Если бы Вы хотите знать после того, как цикл закончен, то очевидная вещь состояла бы в том, чтобы установить переменную, указывающую, что все в порядке. Когда что-то не в порядке, Вы заменяете переменную, и в конце цикла Вы смотрите в переменной, чтобы видеть, не было ли что-нибудь в порядке:

ok=1
for i in "${files[@]}"
do
if [ ! -e "$i" ]; then
  ok=0
fi
done
if [ $ok -eq 1 ]; then
  echo "NO ERROR"
else 
  echo "ERROR"
fi

Используя [ ! -e "$i" ] постарается не распечатывать ошибки от ls хотя Вы могли сделать

ls -l "$i" > /dev/null 2>&1

перенаправить lsвывод и ошибки к/dev/null

0
задан 28 May 2014 в 17:04
1 ответ

Проблема Вот эта часть вашей основной конфигурации:

ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var 

Эти директивы влияют на весь сервер, включая VirtualHost. Но предыдущая часть, а именно:

Alias /error/ "/var/www/error/"

, не повлияет на виртуальный хост - потому что псевдоним работает для основного сервера, а не для VirtualHost.

Итак, чтобы заставить документы об ошибках работать, вам нужно будет убедитесь, что конфигурация обработки ошибок доступна в том же контексте, что и конфигурация виртуального хоста. Как бы то ни было, вы ссылаетесь на путь, который не существует в контексте VirtualHost.

(Мне не ясно, используете ли вы свой веб-сервер для более чем одного сайта. Если все достигается с использованием одного и того же имени хоста,

1
ответ дан 4 December 2019 в 17:35

Теги

Похожие вопросы