PHP-Einstellungen und .htaccess
Warum .htaccess nicht greift, saubere URLs, Document-Root, Upload-Grenze, gesperrte Pfade und eigene Regeln.
2 Min. LesezeitAktualisiert am 17.10.2026
Auf dieser Seite
Kein Apache, keine .htaccess
PHP-Projekte laufen mit FrankenPHP, einem Webserver auf Basis von Caddy. Eine .htaccess liest er nicht. Was dort an Weiterleitungen und Sperren steht, ist bei uns wirkungslos. Die meisten Regeln braucht es nicht, für den Rest gibt es die Einstellungen unten.
Die Einstellungen
Unter Projekteinstellungen → PHP:
Saubere URLs. /kontakt liefert kontakt.php, auch /kontakt/, solange es keinen Ordner kontakt/ gibt. Das ersetzt die übliche RewriteRule aus der .htaccess.
Document-Root. Der Ordner, der im Netz erreichbar ist, etwa public bei Laravel. Leer heißt: das ganze Projekt. Eine Änderung braucht einen neuen Build.
Upload-Grenze. Die größte Datei, die PHP annimmt, in MB, höchstens 256.
Gesperrte Pfade. Ein Pfad je Zeile, etwa /config oder /install. Alles darunter antwortet mit 404. Versteckte Dateien wie .env oder .git sind immer gesperrt, außer /.well-known/.
Eigene Regeln. Für Fälle, die oben nicht abgedeckt sind, schreibst du Caddy-Regeln. Sie stehen vor der PHP-Auslieferung:
redir /alt /neu 301
header /assets/* Cache-Control "public, max-age=31536000"Liegt im Repository ein eigenes Caddyfile, nimmt der Build das. Dann greifen die Einstellungen hier nicht, das Dashboard weist darauf hin.
Konfigurationsdateien
Viele PHP-Apps wollen eine Datei mit Zugangsdaten, etwa config/database.php. Die gehört nicht ins Repository. Leg sie unter Konfigurationsdateien an. Mehr dazu in Datenbanken, Dateien und Speicher.
