Sto usando.htaccess consentono solo l'accesso a index.php e una directory
RewriteEngine On
RewriteRule ^.*$ ./index.php
per reindirizzare tutto il mio traffico sito web attraverso index.php e lasciare che il mio codice php ottenere il REQUEST_URI e percorso ogni richiesta di conseguenza.
voglio limitare l'accesso a tutti gli altri file/directory, tranne uno che conterrà i file js, css file, immagini ecc
ho scoperto che per fare che posso usare:
Order deny,allow
Deny from all
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
e poi avere un altro file .htaccess all'interno della directory pubblica per consentire determinati tipi di file.
Quando si naviga in localhost/mysite/index.php funziona bene poiché il file index.php è accessibile.
Ma per qualsiasi altro URL ottengo un 403, ad esempio/mysite/home/è vietato anche se mi aspettavo che funzionasse normalmente.
Cosa posso ottenere per ottenere il comportamento previsto?
Il mio file Htacces completo è:
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: Il /public/.htaccess attualmente si presenta così:
<Files ~ "\.(xml|css|jpe?g|png|gif|js|pdf)$">
Allow from all
</Files>
si può mostrare '/ public/.htaccess' anche? – anubhava
@anubhava Ho modificato la domanda per includere anche quella. – ppp