.htaccess seulement permettre l'accès à index.php et un répertoire

Je suis en utilisant

RewriteEngine On
RewriteRule ^.*$ ./index.php

pour rediriger tout mon trafic de site web par le biais de index.php et que mon code php obtenir le request_uri et l'itinéraire de chaque demande en conséquence.

Je veux restreindre l'accès à tous les autres fichiers/répertoires à l'exception de celui qui contiendra les fichiers js, les fichiers css, images, etc.

J'ai trouvé que, pour faire ce que je peux utiliser:

Order deny,allow
Deny from all

<Files index.php>
    Order Allow,Deny
    Allow from all
</Files>

et puis une autre .fichier htaccess à l'intérieur du répertoire public pour permettre à certains types de fichiers.

Lorsque je navigue à localhost/mysite/index.php il fonctionne très bien depuis l'index.php le fichier est accessible.

Mais pour toute autre url, je reçois un 403, par exemple /monsite/home/est interdit, même si je m'attendais à fonctionner normalement.

Que puis-je faire obtenir le comportement attendu?

Mon plein .htacces fichier est:

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^.*$ ./index.php


Order deny,allow
Deny from all

<Files index.php>
    Order Allow,Deny
    Allow from all
</Files>

EDIT: L' /public/.htaccess actuellement ressemble à ceci:

<Files ~ "\.(xml|css|jpe?g|png|gif|js|pdf)$">
  Allow from all
</Files>
Pouvez-vous montrer /public/.htaccess aussi?
J'ai édité la question d'inclure aussi.

OriginalL'auteur ppp | 2015-05-25