2014-09-30 8 views
0

OK Я пытаюсь защитить паролем каталог, но не файлы внутри него. Мы отправляем ссылки на клиентов, чтобы открыть pdf ... но я не хочу, чтобы они отображали содержимое каталога, следовательно, htaccess.FilesMatch on htaccess вызывает внутреннюю ошибку сервера

Я настраиваю пароль через Cpanel и проверяю правильный путь с помощью fullpath.php. Затем я загрузить следующий файл Htaccess, который работает отлично:

AuthName "Secure Area" 
AuthUserFile "/home4/o558316/.htpasswds/public_html/pdfs/passwd" 
AuthType Basic 
require valid-user 

Когда я затем добавить в FilesMatch линии:

<FilesMatch "\.(jpg|gif|png|pdf)$"> 
Order Deny,Allow 
Allow from all 
</FilesMatch> 

возвращает внутреннюю ошибку сервера,

Внутренняя ошибка сервера

Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос.

Обратитесь к администратору сервера, admin @ localhost и сообщите им о том, что произошло с ошибкой, и все, что вы могли бы сделать, что могло вызвать ошибку.

Дополнительная информация об этой ошибке может быть доступна в журнале ошибок сервера.

Уверен, что это всего лишь мой синтаксис, я пробовал практически все, и он просто не работает. Вскоре, когда я удаляю строки filesmatch, он отлично работает.

+0

Почему не просто изменить права доступа к папке? – andyroo

+0

И вы проверили свой журнал ошибок, как это было предложено? Всегда проверяйте журналы, независимо от ошибки. Особенно, если сервер даже предлагает это. – ToBe

ответ

0

Если вы думаете о конструкции своей директивы и правилах filematch, то здесь вы пытаетесь блокировать доступ ко всему, абсолютно все, кроме тех, которые указаны - Так как браузер может получить доступ, скажем, к файлу ошибки, который имеет расширение .php, например?

Лично я бы отключить список каталогов, используя следующую строку в файле .htaccess:

# Disable Directory Listings in this Directory and Subdirectories 
# This will hide the files from the public unless they know direct URLs 
Options -Indexes 
+0

Но мне нужны люди (те, у кого есть пароль), чтобы увидеть список каталогов. По сути, мы отправляем клиенту URL-адрес: www.mysite.com/folder/yourdoucment.pdf, и я хочу, чтобы они могли открыть PDF без пароля, но не видеть содержимое «/ folder», – sisimarketing

Смежные вопросы