Intereting Posts
Doctrine 2: вызов функции-члена функции () для не-объекта … в DateTimeType.php Регулярное выражение PHP с круглыми скобками Как отредактировать мой код, чтобы он печатал все блоки строки JSON, а не только первый? Изменить элементы при нажатии кнопки? Почему getenv () возвращает только переменную при запуске с терминала, а не через веб-сервер Проверьте, используется ли PHP session_id Заменить на основе строки регулярного выражения и возвращаемой строки Как установить альтернативный цвет строки для повторяющейся таблицы в php? Как выполнить хранимую процедуру в php с помощью параметров стиля sqlsrv и «?» filter_var или настраиваемая функция проверки подлинности электронной почты в php Symfony2 – Как использовать переменные Entity в CallbackValidator? Сопоставления в случаях переключения, действительно ли они? Существует ли какое-либо событие «pre login» или подобное? Динамически создавать и заполнять входное радио с помощью PHP Настройка содержимого в несколько текстовых областей TinyMCE?

htaccess блокирует доступ к каталогу, но разрешает доступ к файлам

У меня такая ситуация. Я разрабатываю приложение в Zend Framework и htaccess, указывая каждый запрос на index.php. Если какой-либо файл или каталог существует на пути запроса, htaccess разрешает доступ к этим файлам, таким как css, js, images и т. Д. …

Теперь у меня есть такая ссылка:

example.com/profile/martin-slicker-i231

С Zend Router он указывает на учетную запись контроллера и файл вида действий. Я хочу добавить некоторый аватар для своих пользователей, и я создал каталог в общей папке (чтобы изображения были доступны на сервере, например, css и js). Каталог называется «profile», а подкаталог – «martin-slicker-i231». Весь путь видимый сервером:

public/ .htaccess index.php profile/ martin-slicker-i231/ avatar-small.jpg 

Проблема в том, что когда я указываю браузер на example.com/profile/martin-slicker-i231, он указывает мне на этот каталог, а не на контроллер и действие. Когда я удаляю папку с пользователем, тогда поток переходит к контроллеру и действию. Как настроить .htaccess, поэтому example.com/profile/martin-slicker-i231 будет указывать на контроллер и действие, но запрос на example.com/profile/martin-slicker-i231/avatar-small.jpg указывает на файл. Вот мой .htaccess

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] 

Может ли кто-нибудь помочь?

Просто удалите часть, в которой говорится, что она должна обслуживать каталоги:

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] 

Теперь он будет обслуживать файлы (с размером> 0) и символические ссылки напрямую, но отправлять ссылки каталогов и другие URL-адреса в ваше приложение

В соответствии с документами Apache следующее отключит списки каталогов

 <Directory /path/to/directory> Options -Indexes </Directory> 

Вы также можете посмотреть документацию для mod_autoindex