#ruby-on-rails #ruby-on-rails-3 #apache #download
#ruby-on-rails #ruby-on-rails-3 #apache #Скачать
Вопрос:
Я настроил маршрут для обработки загрузки определенного файла.
match '/overview' => "pages#overview", :as => "da_overview"
в Pages#обзор я отправляю файл с этой строкой
send_file File.join(Rails.root, 'public', 'downloads', 'overview.pdf'), :type =>"application/pdf"
Я включил настройку x-sendfile.
config.action_dispatch.x_sendfile_header = "X-Sendfile"
Кроме того, я установил и включил модуль mod_xsendfile на сервере apache. Я также включил его для своего сайта.
XSendFile on
Тем не менее, когда я нажимаю на URL http://mysite.com/overview , браузер загружается overview.pdf.html
, и в HTML-файле говорится: 404: Requested URL /overview not found on this server
Я проверил существование файла. Файл pdf находится в каталоге /public/downloads . Какую конфигурацию мне не хватает? Пожалуйста, помогите.
Ответ №1:
В зависимости от версии mod_xsendfile, которую вы используете, вам нужно будет добавить одно из следующих после «XSendFile on», чтобы предоставить mod_xsendfile разрешения на доступ к файлам в вашей файловой системе.
mod_xsendfile 0.9:
XSendFileAllowAbove on
mod_xsendfile >0.9:
XSendFilePath "/path/where/files/you're/sending/are"