Назад | Перейти на главную страницу

Параметры Apache в файле .htaccess

Я использую Options +FollowSymLinks -MultiViews в файле .htaccess, который хранится в 1 папке над папками изображений, но это вызывает проблемы с просмотром изображений в этих каталогах при выводе на страницу через URL-адрес. Как только я удалю это из .htaccess, все изображения будут отображаться нормально.

Вот весь файл .htaccess в том виде, в котором он есть у меня:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ http://%{HTTP_HOST}/ [R=301,L]

Что-то не так? Потому что изображения вообще не отображаются при их выводе в <img> теги src attribute.

В реальных каталогах изображений у меня есть еще один файл .htaccess, который выглядит следующим образом:

<FilesMatch "\.(jpg|jpeg|png|gif|bmp)$">
  <IfModule mod_headers.c>
      Header unset Pragma
      FileETag None
      Header unset ETag
      Header set Cache-Control "max-age=864000, public, must-revalidate"
      Header unset Last-Modified
  </IfModule>
</FilesMatch>

Возможно, есть лучшая альтернатива для этого, которая позволит мне хорошо видеть изображения в папках на моем сервере? Честно говоря, я хотел бы знать, что на самом деле было причиной этого.

Приведет ли удаление этой строки к какой-либо угрозе безопасности? Options +FollowSymLinks -MultiViews Могу я просто заменить его на: Options -Indexes?

В принципе, я по-прежнему хочу, чтобы файлы в папке были доступны, но я не хочу, чтобы при просмотре URL-адреса папки все файлы отображались там, если вы понимаете, о чем я. Кроме того, интересно, можно ли это сделать так, чтобы он принимал файлы только с моего сервера, а не с других? Если это возможно или даже имеет смысл ...?

Когда я сталкиваюсь с подобными проблемами, первое, что я делаю, это смотрю на фактические возвращаемые заголовки HTTP-ответа.

Самый простой способ сделать это - использовать команду curl (http://curl.haxx.se/download.html):

curl -D headers.txt http://my_url.com

Это сохранит заголовки ответов в headers.txt, что должно дать вам гораздо лучшее представление о том, что на самом деле происходит. Надеюсь, этого будет достаточно, чтобы указать вам на решение.