apache: перенаправление на 403 вместо 404 для скрытых каталогов

По соображениям безопасности вы должны выдать 404 для скрытых каталогов, но apache выдает код ошибки 403. Я также проверил несколько ответов о переполнении стека, предлагая показать страницу 404 с кодом ошибки 403, но это неверно, поскольку мы все еще видим код ошибки 403 в сети. Я хочу показать 404 Страница не найдена для скрытых каталогов. Есть ли способ реализовать мой сценарий?? Я буду в порядке для перенаправления вручную всех скрытых каталогов, но только с кодом ошибки 404.

Могу ли я написать Directory Access или что-нибудь, что может работать?

На изображении я попытался объяснить, что хочу, чтобы сервер отвечал кодами ошибок 404 вместо 403.

введите здесь описание изображения


person Jigar Shah    schedule 02.12.2020    source источник
comment
Я почти уверен, что 403 исходит из вашего PHP-приложения. Сервер возвращает 301 для запрошенного пути. Приложение в новом местоположении генерирует ответ 403.   -  person Thakkie    schedule 04.12.2020
comment
@ Thakkie, да, это происходит. Но не знаю, как мы можем получить 404 вместо 403.   -  person Jigar Shah    schedule 07.12.2020
comment
Вы должны найти код внутри своего приложения, который генерирует ошибку 403, и изменить его. Это лучшее, что я могу сделать, чтобы помочь здесь без какой-либо информации о ваших особенностях вашего приложения.   -  person Thakkie    schedule 07.12.2020
comment
@Thakkie, можем ли мы заблокировать путь из конфигурации сервера ??   -  person Jigar Shah    schedule 14.12.2020


Ответы (2)


Лучший способ добиться этого — изменить приложение, которое генерирует ошибку 403.

Если вы не можете или не хотите изменять код, вы можете использовать .htacces для внутреннего перенаправления в несуществующее место. Следующая строка перенаправит все запросы к каталогу архива в несуществующее место.

RewriteRule  ^archive(/.*)?$ /this-path-does-not-exist [L]

Вам также нужно будет добавить RewriteCondition для перенаправления на ваш передний контроллер, чтобы предотвратить его перенаправление в ваше приложение.

RewriteCond %{REQUEST_URI} !^/this-path-does-not-exist
# ... Other rewrite conditions
# The redirect to your front controller
person Thakkie    schedule 15.12.2020

Я перепробовал достаточно таких вещей, как RewriteCond %{REQUEST_URI} !^/this-path-does-exist

но это не сработало для меня... Позже я попробовал код ниже, и это сработало для меня.

Redirect 404 /Directory_Name

Спасибо за помощь!!

person Jigar Shah    schedule 16.05.2021