На старом сайте, где я использовал PHP, у меня был .htaccess
в каталоге /noaccess
следующим образом:
# /noaccess/.htaccess
<FilesMatch "^.*$">
order allow,deny
deny from all
</FilesMatch>
И у меня был PHP-файл вроде
<html>
<body>
<?php include('noaccess/blah.ssi'); ?>
</body>
</html>
Это прекрасно работает, и содержимое blah.ssi
видно.
Однако на моем текущем сайте я использую SSI и следующее:
<html>
<body>
<!--#include virtual="noaccess/blah.ssi" -->
</body>
</html>
не работает. Логи показывают unable to include "noaccess/blah.ssi"
. Удалите директиву FilesMatch
, и она работает. Поэтому я явно не понимаю, как работает эта команда, я не знал, что она заблокирует сам Apache. Так как я могу заблокировать доступ из Интернета, но разрешить доступ SSI? (Я думал, что смогу (и должен) хранить вещи, к которым я не хочу получать доступ, за пределами public_html
, но это, похоже, не работает ни в SSI, но в любом случае, даже если это так, мне интересно знаю, как это сделать).
Спасибо, Т.