2012-01-08 2 views
2

У меня уже есть a question open about this, я не знаю этикета для публикации снова, но я чувствую, что предыдущий вопрос идет по неправильному пути.Конфигурация X-Sendfile .htaccess вопросы

Я весь день исследую тему настройки XSendfile для работы с PHP на нашем сервере apache. Чем больше я читаю, тем более дико противоречащей информации, которую я получаю.

Итак, если кто-то достаточно хорошо знаком с XSendfile, ваше разъяснение будет чрезвычайно полезно и оценено на этом этапе.

Хост говорит, что они установили XSendfile. Когда я пытаюсь запустить тестовый скрипт XSendfile, я не получаю никаких ошибок, просто файл 0kb. Поэтому я предполагаю, что они действительно установили эту вещь.

Далее, многие сообщения в сети предполагают, что файл 0kb подходит для проблемы с конфигурацией. Кажется, что более поздним версиям XSendfile нужны следующие строки:

XSendFile On 
XSendFilePath /path/to/files/directory 

В конфигурациях apache или htaccess. Всякий раз, когда я помещаю эти строки в локальный файл htaccess, он разбивает весь сайт с ошибкой 500. Если я помещаю их вверху или внизу, или по другому пути, который я выбираю для ввода во вторую строку, он разбивает весь сайт.

Несколько часов назад я прочитал, что кто-то поговорил с автором и что на самом деле вы не можете настроить XSendfile в htaccess, только в конфигурации apache. Можно ли настроить XSendfile с помощью htaccess или нет? Половина сайтов говорят «да», половина сайтов говорит «нет» или просто говорит об apache config.

ЕСЛИ это можно сделать с помощью htaccess, может ли кто-нибудь дать мне пример htaccess, который не приведет к сбою всего сайта? Мой Htaccess в настоящее время содержит следующие 3 строки:

Options -Indexes 
ErrorDocument 404 /index.html 
ErrorDocument 403 /index.html 

Извините, если я звук подчеркнул, что это настоящая заноза в сторону крайнего срока для этого проекта, и я не могу показаться, чтобы получить прямой ответ или найти право информация в любом месте.

+0

Этикет должен отредактировать оригинальный вопрос и сделать его лучше, если вы чувствуете дискомфорт в нем - не просто «просто» открыть новый вопрос только потому, что он пока не принес вам плоды. Это даст вам и лучшие ответы. – hakre

+0

Возможный дубликат [XSendfile не работает - PHP, Apache, Cpanel] (http://stackoverflow.com/questions/8707944/xsendfile-not-working-php-apache-cpanel) – hakre

+0

Вы найдете описание, почему вы получаете 500 в error.log apache (apache не сбой здесь, это просто сигнализация о неправильной конфигурации).Я уверен, что окажется, что директива 'XSendFilePath' не может использоваться внутри' .htaccess'. – hakre

ответ

4

Хорошо, это было немного сложно и еще не совсем решено, но теперь решается вопрос, который этот вопрос касается, re paths, htaccess и т. Д.

Так что для всех, кто может с этим бороться, или кто считает документацию немного неясной, я отдам то, что узнал.

Некоторые сайты будут говорить, что вы можете поставить

XSendFile On 
XSendFilePath /path/to/files/directory 

в файле .htaccess. Это неверно. Вы можете положить XSendFile On в htaccess. Директива XSendFilePath должна указывать конфигурацию сервера. Убедитесь, что вы указали правильный путь к каталогу, к которому вы хотите предоставить доступ к XSendfile. Если у вас нет доступа к конфигурационным файлам сервера, вы можете попросить свою компанию-хост, если они могут настроить это для вас.

+0

Даже [документация 'mod_xsendfile' (https://tn123.org/mod_xsendfile/) говорит что это невозможно. В то время как 'XSendFile' имеет контекст конфигурации _server, виртуальный хост, каталог, .htaccess_,' XSendFilePath' имеет контекст конфигурации _server, виртуальный хост, каталог_, - обратите внимание, что .htaccess is * not * в этом списке. Директива 'XSendFilePath' * должна быть включена в httpd.conf или файл, включенный в него, на уровне сервера, уровне vhost или уровне каталога. –