Я принял следующее решение с парой модификаций:
Я создаю класс Upload::Cache
, который наследуется от класса ruby Tempfile
и [ 117] Upload::Image
класс, который наследуется от класса Upload
.
коммит включает в себя больше информации.
before_filter :set_picture
сохранят изображение перед сохранением
Спецификации покрытия для этой функции
Я могу понять, почему / включают, не пойман Вашим RedirectMatch, Вы не делаете конец '/' дополнительным, однако/include/config.inc часть находится немного на озадачивающей стороне.
Вот то, что я взялся за работу над Apache 2.2:
<FilesMatch /include(/?|/.*)>
Order allow,deny
Deny from all
</FilesMatch>
RedirectMatch 404 ^/include(/?|/.*)$
Это обрабатывает эти случаи:
/include 404
/include/ 404
/include/config.inc 404
Я должен был измениться, часть FilesMatch для / включают часть для работы правильно.
Править:
Строка соответствия также работает без раздела <FilesMatch> в .htaccess и дает ожидаемые результаты.
Не делайте Вы хотите '^/include (/.*)? $'
Эта часть является предположением, но что произошло бы, если Вы помещаете RedirectMatch выше блока. Тем путем Вы не были бы путем отклонения (запрещение) доступа к запросу перед перенаправлением того запроса к 404.
Другая возможность - не беспокоиться о сопоставлении всего пути:
RedirectMatch 404 ^/include
Если есть общедоступные URL-пути, которые могут начинаться с «/ include» (скажем, «/ includeMe»), небольшое добавление отделит частные от общедоступные URL-адреса:
RedirectMatch 404 ^/include(/|$)