web: www-Hosts leiten kanonisch per 301 auf die Apex-Domain

Ploi kann nur Pfad-Redirects, daher als App-Middleware (früh im globalen
Stack): GET/HEAD auf www.<domain> → 301 auf die Apex-Domain mit Pfad und
Query. Unsichere Methoden werden nicht umgeleitet (301 verwirft den Body)
— die beantwortet die App dank Host-Normalisierung weiterhin selbst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-20 15:47:13 +00:00
parent e69ded4fed
commit fcf83040db
3 changed files with 75 additions and 0 deletions

View file

@ -2,6 +2,7 @@
use App\Http\Middleware\BasicAuthMiddleware;
use App\Http\Middleware\LogApiUsage;
use App\Http\Middleware\RedirectWwwToApex;
use App\Http\Middleware\RejectLegacyApiKeys;
use App\Http\Middleware\SecurityHeaders;
use App\Http\Middleware\SetCurrentPortal;
@ -28,6 +29,11 @@ return Application::configure(basePath: dirname(__DIR__))
)
->withMiddleware(function (Middleware $middleware) {
// Kanonische Hosts: www.<domain> → 301 auf die Apex-Domain, so früh
// wie möglich (vor Session/Theme), damit www-Requests gar nicht erst
// gerendert werden.
$middleware->prepend(RedirectWwwToApex::class);
// Security-Header auf allen Antworten (Web + API), Proxy-unabhängig.
$middleware->append(SecurityHeaders::class);