Я разрабатываю инструмент, и я застрял на этом этапе: я хочу определить набор правил для каждой директории, в основном хочу только доступную папку «Public» и запретить доступ к другим папкам.Apache - запретить доступ ко всем каталогам, кроме общедоступных
Моя структура directoy является
uapi(root)/
Application
Config
Public/
Index.php
Storage
.htaccess
и вот файл .htaccess
<Directory /Public>
Order Deny, Allow
Allow from all
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ Index.php/$1 [L]
</IfModule>
</Directory>
<Directory /Config>
Order Deny, Allow
Deny from all
</Directory>
<Directory /Application>
Order Deny, Allow
Deny from all
</Directory>
<Directory /Storage>
Order Deny, Allow
Deny from all
</Directory>
Возможно, попробуйте удалить/прокомментировать директивы 'Rewrite ...', если это сработает, проблема там. – Pietu1998
Я смотрел в access.log и его кеппы, говоря <
, вообще говоря, если у вас есть контроль над сервером и вы не находитесь на общедоступном хостинге, добавьте этот материал в конфигурацию сервера (httpd.conf) лучше/быстрее, чем Apache не нужно искать и анализировать файлы .htaccess по каждому запросу. Если вы используете общий хостинг, вы застряли в методе .htaccess (в большинстве случаев) – Doon