Абсолютно - на самом деле вам не нужно использовать .htaccess.Просто поместите защищенный каталог над корневым каталогом вашего документа (то есть храните его рядом с папкой, в которой хранятся ваши PHP-скрипты, обычно это «htdocs», «httpdocs» или иногда просто «www»).веб-файлы будут в /my/folders/httpdocs/
, а ваши «защищенные» файлы будут в /my/folders/protected_folder/
Идея в том, что PHP может получить доступ к любой папке на сервере, но Apache не позволит пользователю перемещаться«над» корневым каталогом.
Для доступа к каталогу вы можете использовать:
$protected_path = $_SERVER['DOCUMENT_ROOT'].'/../protected_folder/';
(Кстати, вы упомянули, что делаете это для кэширования страниц- возможно, вы захотите взглянуть на Smarty , механизм шаблонов PHP, который предварительно компилирует ваши шаблоны и также поддерживает очень умное кэширование. И на самом деле, одна из "лучших практик" Smarty - это настройка вашегоструктура, так что файлы шаблонов и кеша не находятся ни в папке, ни в папке document_root, поэтому пользователи, заходящие из Apache, никогда не смогут получить к ним доступ, но код Smarty PHP может легко получить все, что ему нужно.)