Ошибка 404 при открытии сайта, httpd.conf? - PullRequest
0 голосов
/ 23 июня 2019

У меня есть приложение php, которое мне нужно было открыть на локальном веб-сервере.Я использую Windows 7 на своей виртуальной машине.Установили php 7.3.6, mysql, apache 2.4.

  1. После некоторой настройки, пытаясь открыть мое «приложение» с помощью «localhost / application».
  2. Получение «Внутренняя ошибка 500».
  3. В журналах Apache можно увидеть «C: /WebData/application/.htaccess: Неверная команда 'order', возможно, с ошибкой или определена модулем, не включенным в конфигурацию сервера"
  4. В.htaccess у меня есть:
order deny,allow
RewriteEngine On
RewriteBase /
RewriteRule .* index.php?url=$0 [QSA,L]
Изменить первую строку на "Требуется все предоставлено" Попытка открыть "localhost / application" Получение сообщения об ошибке "404 URL /index.php" не найден Попытка открыть "localhost / application / index.php" Пересылка в "localhost / ru / main" Получение другой ошибки "404 URL .." не найдено

Кроме того, после каждого запроса я вижу, что htaccess возвращается в исходное состояние с помощью «Отказ от заказа, разрешить».

Что-то не так с httpd.conf?

1 Ответ

0 голосов
/ 24 июня 2019

Вы, вероятно, не запускаете mod_access_compat, что означает, что Order недоступен, так как он устарел в Apache 2.4 (см. https://httpd.apache.org/docs/2.4/howto/access.html)

Теперь, причина, по которой ваши .htaccess файлы получаютперезаписанный, вероятно, лежит в коде PHP, который вы запускаете. Некоторые приложения пытаются автоматически настроить себя и напишут свой собственный файл .htaccess, чтобы убедиться, что они работают правильно.

Тот факт, что это конкретное приложение пытается написатьустаревшие команды, не проверяя, может ли используемая вами версия Apache справиться с ними, касается и, вероятно, означает, что она устарела.

Выполните глобальный поиск файлов приложения и найдите это правило Order deny, allow,Я почти уверен, что вы найдете виновника.

Если вы можете запустить более новую версию этого кода, сделайте это, а если нет, и если исправление вручную - вариант, измените его на Require all granted

...