"Apache" Refuser l'accès à tous les répertoires à l'exception des

Je suis en train d'élaborer un outil et je suis coincé à ce point: je veux définir un ensemble de règles pour chaque répertoire, fondamentalement, je veux seulement "Public" dossier disponible, et de refuser l'accès à d'autres dossiers.

Mon directoy structure est

uapi(root)/
    Application
    Config
    Public/
         Index.php
    Storage
    .htaccess

et c'est ici .fichier 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>
Peut-être essayez de supprimer/en commentant la Rewrite... directives, si ça va marcher, le problème est là.
J'ai regardé dans l'accès.journal et son kepps en disant <Directory pas autorisés ici
en règle générale, si vous avez le contrôle du serveur et ne sont pas sur l'hébergement mutualisé, de mettre ce genre de choses dans la configuration du serveur (httpd.conf) est mieux, plus rapide qu'apache n'a pas besoin de rechercher et d'analyser .htaccess à chaque demande. Si vous êtes en hébergement mutualisé vous êtes coincé avec le .htaccess méthode (dans la plupart des cas)
Pourquoi pas un seul .fichier htaccess à la racine "Deny from all" Et un .htaccess dans /dossier Public avec "Allow from all".fichier htaccess dans le dossier Public doit remplacer la .fichier htaccess à la racine? Pour éviter d'avoir un .htaccess dans chaque dossier /Application /Config, etc.

OriginalL'auteur Silvio Marijic | 2013-08-13