Страница Apache 404 не отображается, когда она должна - PullRequest
0 голосов
/ 20 августа 2011

Некоторое время назад у меня был свой веб-сервер, и я знал, что это сервер "apache" ... но кроме этого я не очень разбираюсь в его настройке ... но до недавнего времени у меня не быловсе это настроено с моими собственными 404 страницами ... но теперь, даже если я попытаюсь перейти на страницу на моем сервере, которая не существует, она просто перенаправит на мой index.php в public_html ... любые идеи ?...

1 Ответ

0 голосов
/ 20 августа 2011

Вероятно, у вас есть файл .htaccess, который настроен для использования с PHP-фреймворком, таким как Symfony или Zend.В этом случае приложение фреймворка предоставляет сервис для URL, которые на самом деле не существуют.То есть, если ваше приложение обслуживает URL /path/to/page, у вас может не быть файла с именем /path/to/page.Другими словами, платформа предоставляет контент для URL, не требуя отношения 1: 1 между URL и исходным файлом * .php.В этом случае необходимо настроить Apache для отправки всех обращений за несуществующими страницами на центральный контроллер (например, index.php), который затем определит, какой контент для него обслуживать.

Загляните внутрьваш файл .htaccess, и вы, вероятно, увидите несколько таких строк:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php

Если вы не используете платформу (или аналогичный механизм для обслуживания интеллектуальных URL-адресов), тогда вы можете безопасно удалить эти строкиили закомментируйте их), чтобы вернуть Apache 404.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...