tylko używam.htaccess umożliwić dostęp do index.php i katalogu
RewriteEngine On
RewriteRule ^.*$ ./index.php
przekierować cały swój ruch w witrynie poprzez index.php i niech mój kod php uzyskać REQUEST_URI i droga każdy wniosek odpowiednio.
Chcę ograniczyć dostęp do wszystkich innych plików/katalogów z wyjątkiem jednego, który będzie zawierał pliki js, pliki CSS, obrazów itp
Okazało się, że do zrobienia, że mogę używać:
Order deny,allow
Deny from all
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
, a następnie inny plik .htaccess w katalogu publicznym, aby zezwolić na określone typy plików.
Gdy przechodzę do localhost/mysite/index.php działa dobrze, ponieważ plik index.php jest dostępny.
Ale dla każdego innego adresu URL mam 403, na przykład/mysite/home/jest zabronione, mimo że oczekiwałem, że będzie działać normalnie.
Co mogę zrobić, aby uzyskać oczekiwane zachowanie?
Mój plik jest pełne .htacces:
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: /public/.htaccess aktualnie wygląda tak:
<Files ~ "\.(xml|css|jpe?g|png|gif|js|pdf)$">
Allow from all
</Files>
można pokazać '/ public/.htaccess' również? – anubhava
@anubhava Zmontowałem to pytanie, aby uwzględnić to również. – ppp