На старом сайте, где я использовал 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 include, но в любом случае, даже если бы это было так, мне интересно знать, как сделать это).
Спасибо, Т.
/
, считается корневым уровнем сайта, поэтому/home/...
не будет работать, и../../noaccess
, похоже, тоже не работает. - person tjm   schedule 17.12.2010