Почему перезапись в /error недействительна?

Я испытал очень странное явление! Я использую URL-адрес, настроенный как /err/?e=404 для страниц ошибок. Я также ссылаюсь на них как на ErrorDocument в .htaccess.

Я выбрал только короткую версию "ошибка", потому что "ошибкаили" вызывает проблемы! Если просто заменить "err" на "errили", он перестанет работать! Я получаю сообщение об ошибке 403, но не с моей страницей ошибки, а со страницей ошибки по умолчанию от apache. Однако это относится только к моему основному домену, с которым я установил сервер. На другие домены это, похоже, не влияет.

В настоящее время я тестирую это с помощью Windows, и я получаю эту запись в журнале ошибок

AH01276: Невозможно обслуживать каталог C:/xampp/apache/error/: Нет соответствующего DirectoryIndex (index.php, index.pl, index.cgi, index.asp, index.shtml, index.html, index.htm, default.php , default.pl, default.cgi, default.asp, default.shtml, default.html, default.htm, home.php, home.pl, home.cgi, home.asp, home.shtml, home.html, домашний .htm) найден, а сгенерированный сервером индекс каталога запрещен директивой Options

По-видимому, /error означает что-то особенное для самого apache2.4. Что это такое? Почему мне не разрешено использовать этот путь в htaccess?


В моей производственной системе я использую

  • Дебиан 8.3
  • Апач 2.4
  • PHP 5.6.14

person bytecode77    schedule 25.02.2016    source источник
comment
проверьте список псевдонимов. Может быть определен Alias /error. прокомментируйте эту строку.   -  person hjpotter92    schedule 25.02.2016
comment
Я не нашел его на быстром, но не вызывает ли это тоже ошибок, если я просто раскомментирую это? Что вообще не так с этим загадочным псевдонимом? И почему это влияет только на основной домен?   -  person bytecode77    schedule 25.02.2016
comment
https://devdocs.io/apache_http_server/mod/mod_alias#alias   -  person hjpotter92    schedule 25.02.2016
comment
Интересно. Это означало бы, что я не могу использовать такие пути, как /image или /icons, верно? Никогда этого не понимал. Любая идея, как я могу достичь своей цели, не взламывая конфигурацию apache, приветствуется. В противном случае я буду избегать использования /error в качестве маршрута перезаписи.   -  person bytecode77    schedule 25.02.2016
comment
Вы можете определить маршруты/пути в отдельной конфигурации VHost.   -  person hjpotter92    schedule 25.02.2016
comment
Но конфигурация vHost — это не что иное, как то, что находится в .htaccess, по крайней мере, из того, что я знаю. И мне не очень нравится идея размещать код, необходимый для работы моего приложения, далеко за пределами кодовой базы самого приложения. Это просто кажется мне очень плохой практикой.   -  person bytecode77    schedule 25.02.2016
comment
stackoverflow.com/q/6085222/1190388 Если вы собираетесь опубликовать код, вы можете поместить конфигурационный файл vhost в отдельной директории и упоминание о его существовании в файле readme.   -  person hjpotter92    schedule 25.02.2016
comment
Этот проект является частным. Кроме того, у меня нет проблем с производительностью на моем сервере, поэтому я не хочу разбрасывать свой код повсюду. Для меня имеет смысл собрать все в одном месте. Это не ОКР, а хорошая практика ;)   -  person bytecode77    schedule 25.02.2016
comment
Вы никогда не показали, что вы ожидаете от Apache для ресурса /err/ или /error/. Последнее кажется плохой идеей для управления сервером, где вы ожидаете, что ваше приложение не обязательно будет выделено.   -  person covener    schedule 10.03.2016