php Apache сервер перезаписывает проблему URL - PullRequest
1 голос
/ 01 ноября 2011

Проблема заключается в следующем: я развернул один сервер, и по какой-то причине он не отвечает на URL-адреса как обычно.Я имею в виду, что когда у меня есть файл с именем somefile.php, загруженный на mysite.com/, и я набираю в браузере mysite.com/somefile, файл somefile.php вызывается вместо сообщения 404 не найден.Я думаю, что это странно и по какой-то причине мешает правильно переписать мой файл .htaccess, потому что вызывается файл somefile.php, и если после mysite.com/somefile есть информация, такая как mysite.com/somefile/someotherfile, someotherfile игнорируется и somefile.php отображается.У меня все остальные файлы .htaccess удалены даже в родительских каталогах сервера и все тот же результат.Я надеюсь, что вы можете помочь мне.

На локальном хосте этой проблемы не наблюдается.Я получаю 404 не найден, как я должен ...

1 Ответ

2 голосов
/ 01 ноября 2011

Похоже, у вас MultiViews в настоящее время включен. Попробуйте отключить их.

MultiViews

MultiViews - это опция для каждого каталога, то есть она может быть установлена с директивой параметров в пределах, или раздел в httpd.conf или (если AllowOverride установлен правильно) в Файлы .htaccess. Обратите внимание, что Options All не устанавливает MultiViews; вы нужно попросить об этом по имени.

Эффект MultiViews заключается в следующем: если сервер получает запросить / some / dir / foo, если в / some / dir включены MultiViews, и / some / dir / foo не существует, тогда сервер читает каталог ищет файлы с именем foo. * и эффективно подделывает карту типов который называет все эти файлы, назначая им одинаковые типы медиа и кодирование контента, которое было бы, если бы клиент запросил один из их по имени. Затем он выбирает лучшее соответствие клиенту требования.

http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews

...