Я использую .htaccess, чтобы удалить расширение .html из моих URL-адресов. Например...
https://www.example.com/work.html > https://www.example.com/work
Я хочу, чтобы на сайте отображалась страница 404 (или правильная страница ошибки), если кто-то пытается получить доступ к файлу/каталогу, которого там нет (например) https://www.example.com. Но это возвращает 500 Internal Server Error.
Строка .htaccess ErrorDocument 500 /errors/500.html не возвращает этот файл (работает для 404, 403 и т. д.). Он возвращает эту ошибку...
Кроме того, при попытке использовать ErrorDocument для обработки запроса возникла ошибка 500 Internal Server Error.
Журнал ошибок Apache говорит...
AH00124: Запрос превысил ограничение в 10 внутренних перенаправлений из-за вероятной ошибки конфигурации. Используйте «LimitInternalRecursion», чтобы увеличить лимит, если это необходимо. Используйте отладку LogLevel, чтобы получить обратную трассировку.
Я предполагаю, что это связано с тем, что он по существу пытается найти каталог в html-файле (пытаясь найти каталог «новый» внутри html-файла «work.html»), поэтому возвращает ошибку сервера 500, а не 404.
Ниже мой файл .htaccess. Может ли кто-нибудь помочь с лучшим способом сделать это или обойти это?
# Disable Directory Listing
Options -Indexes
# X-Robots-Tag
Header set X-Robots-Tag "noindex, nofollow"
# Rewrite Engine
RewriteEngine On
# Root Directory
RewriteBase /
# Remove .html Extension
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.html\ HTTP
RewriteRule (.*)\.html$ $1 [R=301]
# Remove index + Reference Directory
RewriteRule (.*)/index$ $1/ [R=301]
# Remove Trailing Slash **If Not Directory**
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]
# Forward Request To html File, **But Don't Redirect (Bot Friendly)**
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.html [L]
# Errors
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
error.log
на наличие ошибок 500. - person anubhava   schedule 30.08.2018https://www.example.com/work
вызывает ошибку 500? - person anubhava   schedule 31.08.2018