Ich bin mit.htaccess nur Zugriff auf index.php und einem Verzeichnis erlauben
RewriteEngine On
RewriteRule ^.*$ ./index.php
all Verkehr meiner Website durch index.php umleiten und mein PHP-Code lassen Sie die request_uri und Strecke jede Anforderung entsprechend erhalten.
Ich mag Zugriff auf alle anderen Dateien/Verzeichnisse mit einer Ausnahme beschränken, die die js Dateien, CSS-Dateien, Bilder usw.
ich das zu tun gefunden enthalten, dass ich verwenden:
Order deny,allow
Deny from all
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
und dann eine andere .htaccess-Datei im öffentlichen Verzeichnis haben, um bestimmte Dateitypen zuzulassen.
Wenn ich zu localhost/mysite/index.php navigiere, funktioniert es gut, da die Datei index.php zugänglich ist.
Aber für jede andere URL bekomme ich eine 403, zum Beispiel/mysite/home/ist verboten, obwohl ich erwartet habe, dass es normal funktioniert.
Was kann ich tun, um das erwartete Verhalten zu erhalten?
Meine volle .htacces Datei ist:
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: Die /public/.htaccess derzeit wie folgt aussieht:
<Files ~ "\.(xml|css|jpe?g|png|gif|js|pdf)$">
Allow from all
</Files>
Können Sie zeigen '/ public/.htaccess' auch? – anubhava
@anubhava Ich habe die Frage bearbeitet, um auch das zu berücksichtigen. – ppp