У меня есть сайт в подпапке, в которой у меня есть файл .htaccess, который работает довольно хорошо, но если правила ничего не находят, он вызывает 500 внутренних ошибок сервера istead из 404 однако я думал, что решить эту проблему путем добавления документа в 500 ошибок, но страница 500 ошибок (в стороне от классических 500 сообщений) говорит:500 вместо 404 и 500 бросков 500 себя
«Кроме того, была обнаружена внутренняя ошибка ошибки сервера 500, а пытается для использования запроса ErrorDocument ».
Так у меня есть два вопроса:
- Почему 500 поднятых вместо 404?
- Что вызывает «дополнительную» ошибку при обработке документа с ошибкой 500?
Это мой .htaccess до сих пор:
DirectorySlash On
RewriteEngine On
RewriteBase /mysubdir/
ErrorDocument 404 /mysubdir/404.php
ErrorDocument 500 /mysubdir/500.php
RewriteRule ^folderexcludedone(/|$) - [NC,L]
RewriteRule ^folderexcludedtwo(/|$) - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)$ $1/ [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ $1.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]*)/?$ $1.php?$1=$2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]*)/?$ $1.php?$2=$3 [L,QSA]
Я перепроверять весь этот код в моей локальной настройки Теперь – anubhava
Попробуйте обновленный ответ сейчас. – anubhava
Хорошо, похоже, теперь все необходимые правила работают :) - так могли бы вы объяснить, почему это работает сейчас? :) И почему у меня нет пользовательского документа с 500 ошибками? –