Apache ничего не обслуживает за ошибки - PullRequest
0 голосов
/ 13 декабря 2011

Я установил Apache через XAMPP в системе Windows 7 x64, и по какой-то причине он не обслуживает страницы с ошибками. У меня

ErrorDocument 404 /404.html 

настроен как в httpd.conf, так и в .htaccess в моем каталоге webroot, но всякий раз, когда я целенаправленно запрашиваю страницу, которая не существует, чтобы проверить ее, Apache вообще ничего не возвращает - ни моя страница с ошибкой 404, ни Apache 404 по умолчанию страница, просто пустая страница, в которой вообще ничего нет. Я думаю, что это одна из проблем "soft 404", потому что журналы Apache и Chrome оба говорят, что запрос на несуществующую страницу привел к ответу 200 OK, но я не знаю, как это исправить, потому что я ' я ничего не получаю с сервера. Логи ничего не говорят мне, и мои поиски в Google и т. Д. Не привели к решению проблемы, с которой я столкнулся. Может ли быть так, что из-за того, что я использую скрипт полу-перенаправления PHP для маршрутизации всех запросов, которые перешли бы от http://localhost/* к http://localhost/testing/, генерируются ошибки, а затем интерпретируются как не ошибки? Например, запрос на http://localhost/foo.html будет перенаправлен на http://localhost/testing/ (не /testing/foo.html, но это ожидаемое поведение), но запрос на http://locahost/testing/foo.html (который не существует) приведет к пустому страница и 200 ОК от Apache. Если я запрашиваю страницу, которая существует, хотя я обычно получаю то, что хочу, но иногда Apache также вообще ничего не отправляет назад для существующего PHP-скрипта - например, я играю с sNews и запросом index.php (http://localhost/testing/snews/index.php) приведет к пустой странице, даже если на странице есть HTML, который должен отображаться, даже если ничего не анализируется / не вставляется.

Кроме этого, PHP, MySQL, Perl и почти все остальное работает отлично. Обычная страница будет загружаться, если она существует, и единственные существующие проблемы - это те, которые описаны выше, и это действительно раздражает, потому что мешает мне завершить определенный проект. Любая помощь очень ценится.

1 Ответ

0 голосов
/ 22 октября 2014

Просто чтобы закрыть этот вопрос, несмотря на то, как давно это было актуально:

Проблема была в том, что у Apache и PHP были конфликтующие директивы - PHP перенаправлял бы все запросы на / на /testing, а Apache искал страницы ошибок в /, но перенаправлялся PHP и поэтому не выполнялся.

...