Bist du sicher, dass du das machen willst? Sogar CSS und JS Dateien und Bilder und ...?
OK, überprüfen Sie zuerst, ob mod_access in Apache installiert ist, und fügen Sie dann Folgendes zu Ihrem .htaccess hinzu:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
<Files /index.php>
Order Allow,Deny
Allow from all
</Files>
Die erste Direktive verbietet den Zugriff auf Dateien außer von localhost, da Order Deny,Allow
Allow später angewendet wird und die zweite Direktive nur index.php betrifft.
Vorsichtsmaßnahme: Kein Leerzeichen nach dem Komma in der Bestellzeile.
Verwenden Sie diese Anweisung, um den Zugriff auf Dateien zu ermöglichen, die mit * .css oder * .js übereinstimmen:
<FilesMatch ".*\.(css|js)$">
Order Allow,Deny
Allow from all
</FilesMatch>
Sie können jedoch keine Anweisungen für <Location>
oder <Directory>
in .htaccess-Dateien verwenden.
Sie können <FilesMatch ".*\.php$">
die erste Erlaubnis verwenden, die Gruppe verweigern und dann explizit den Zugriff auf index.php zulassen.
Update für Apache 2.4:
Diese Antwort ist für Apache 2.2 korrekt. In Apache 2.4 hat sich das Zugriffssteuerungsparadigma geändert, und es ist die richtige Syntax zu verwenden Require all denied
.