Page Rules (Deprecated)
⚠️ Deprecation Notice / Hinweis zur Einstellung
Page Rules sind veraltet und werden in einer zukünftigen Version entfernt. Bitte verwende stattdessen Conditional Rules für alle neuen Regeln.
Warum wechseln?
Kein Performance-Unterschied: Conditional Rules sind genauso schnell wie Page Rules
Bessere Übersicht: Alle Einstellungsänderungen an einem Ort statt auf zwei Seiten verteilt
Einfacheres Debugging: Page Rules verwenden nginx-ähnliche Location-Logik, bei der nur das "beste" Match gilt – das macht es schwer nachzuvollziehen, welche Regel tatsächlich angewendet wurde. Bei Conditional Rules siehst du klar, welche Regeln in welcher Reihenfolge gegriffen haben.
Mehr Flexibilität: Conditional Rules bieten zusätzlich umfangreiche Bedingungen (IP, Land, Header usw.)
Migration: Um eine Page Rule zu migrieren, erstelle eine Conditional Rule mit einer URI-Bedingung. Siehe Migrationsanleitung unten.
Page Rules ermöglichen es dir, das Verhalten von smoxy für bestimmte URLs oder URL-Muster anzupassen. Sie sind der einfachste Weg, verschiedene Konfigurationen auf verschiedene Teile deiner Website basierend auf dem Anfragepfad anzuwenden.
Was sind Page Rules?
Page Rules erlauben es dir, jede smoxy-Konfigurationseinstellung basierend auf URL-Mustern zu überschreiben. Sie sind perfekt geeignet, um verschiedene Caching-Strategien, Bildoptimierungsstufen, Load Balancing oder andere Einstellungen auf bestimmte Bereiche deiner Website anzuwenden.
Wichtige Eigenschaften:
Werden als drittes in der Regelsequenz ausgeführt (nach Access Rules und Rewrite Rules)
Nur URL-basierter Abgleich – einfach und fokussiert
Werden in Positionsreihenfolge ausgewertet (1, 2, 3...)
Erster Treffer gewinnt, dann Stopp – sobald eine Regel zutrifft, werden keine weiteren Page Rules ausgewertet
Können jede smoxy-Einstellung aus deiner Website-Konfiguration überschreiben
Migration zu Conditional Rules
Die Migration von Page Rules zu Conditional Rules ist einfach. Verwende die URI-Bedingung in Conditional Rules, um das gleiche Verhalten zu erreichen.
Beispiel-Migration
Vorher (Page Rule):
Nachher (Conditional Rule):
Wichtige Unterschiede beachten
Ausführung
Erster Treffer gewinnt, stoppt
Alle passenden Regeln werden angewendet
Stop-Verhalten
Immer (automatisch)
Optional (stop=true)
Tipp: Wenn du das "Erster Treffer gewinnt"-Verhalten von Page Rules beibehalten möchtest, füge stop=true zu deiner Conditional Rule hinzu.
Migrations-Checkliste
✅ Erstelle eine neue Conditional Rule mit URI-Bedingung
✅ Übernimm die gleichen Einstellungen
✅ Füge
stop=truehinzu, falls du das Page-Rule-Verhalten beibehalten möchtest✅ Teste die neue Regel mit Debug-Headern
✅ Lösche die alte Page Rule
Legacy-Dokumentation
Die folgende Dokumentation wird für bestehende Page Rules bereitgestellt. Für neue Regeln verwende bitte Conditional Rules.
Wie Page Rules funktionieren
Page Rules werden in aufsteigender Positionsreihenfolge (1 → 2 → 3...) für jede eingehende Anfrage ausgewertet. Wenn das URL-Muster einer Regel zutrifft, werden ihre Einstellungen angewendet und die Auswertung stoppt.
Positionsbasierte Auswertung
Wichtig: Sobald eine Page Rule zutrifft, werden keine weiteren Page Rules ausgewertet. Deshalb ist die Reihenfolge wichtig – spezifischere Muster sollten vor allgemeinen kommen.
URL-Abgleich
Page Rules gleichen basierend auf URL-Mustern mit drei verschiedenen Matchern ab:
Matcher
Equals (=): Exakter Treffer
Matches Regex (~): Groß-/Kleinschreibung-sensitiver Regex
Matches Regex Case-Insensitive (~*): Groß-/Kleinschreibung-ignorierender Regex
URL vs URI
URL: Die vollständige Webadresse inklusive Protokoll und Domain
Beispiel:
https://www.beispiel.de/kategorie/daten.html
URI: Nur der Pfad ohne Domain oder Protokoll
Beispiel:
/kategorie/daten.html
Page Rules arbeiten mit URIs (nur der Pfad).
Häufige Regex-Muster
Tipp: Teste deine Regex-Muster mit Tools wie regexr.com, bevor du sie anwendest.
Wann Page Rules verwenden
Verwende Page Rules wenn:
✅ Du unterschiedliche Einstellungen für verschiedene URLs benötigst
✅ Deine Logik einfach ist (nur URL-basierter Abgleich)
✅ Du möchtest, dass nur eine Regel angewendet wird (erster Treffer gewinnt)
✅ Du mit URL-Mustern arbeitest, die sich mit Regex ausdrücken lassen
Verwende stattdessen Conditional Rules wenn:
❌ Du basierend auf IPs, Ländern, Headern, Cookies usw. abgleichen musst
❌ Du möchtest, dass mehrere Regeln angewendet werden auf dieselbe Anfrage
❌ Du komplexe UND/ODER-Logik mit mehreren Bedingungen benötigst
Einstellungen: Jede Konfiguration überschreiben
Page Rules können jede Einstellung aus der Konfiguration deiner Website überschreiben. Dazu gehören:
Routing: Verschiedene Origins oder Load Balancer auswählen
Caching: Cache-TTL, Cache-Keys, Cache-Tags steuern, Cache umgehen
Bildoptimierung: AVIF, WebP, JPEG, PNG Qualitätsstufen
Sicherheit: WAF, Basic Auth, benutzerdefinierte Fehlerseiten aktivieren/deaktivieren
Header: Request/Response-Header hinzufügen, ändern oder entfernen
Optimierung: HTML/JS/CSS-Minifizierung
Erweitert: Wartungsmodus, Debug-Header, Proxy-Timeouts
Wähle einfach die Einstellungen aus, die du überschreiben möchtest, wenn du eine Page Rule erstellst oder bearbeitest. Die verfügbaren Einstellungen sind nach Kategorie im smoxy Dashboard gruppiert.
Anwendungsfälle & Beispiele
Beispiel 1: Caching für Admin-Bereich deaktivieren
Szenario: Dein Admin-Panel sollte nie gecacht werden, damit Redakteure immer frische Inhalte sehen.
Warum Position 1? Wenn du eine Catch-all-Regel auf Position 1 hast (wie /*), würde diese zuerst zutreffen und deine Admin-Regel würde nie angewendet.
Beispiel 2: Hochwertige Bilder für Produktseiten
Szenario: Produktbilder benötigen höhere Qualität als der Rest deiner Website.
Beispiel 3: API-Traffic zu anderem Backend routen
Szenario: Deine API-Endpunkte sollen von einem anderen Server oder einer anderen Load-Balancer-Gruppe bedient werden.
Kombiniert mit Conditional Rules: Du könntest eine Conditional Rule hinzufügen, um das API-Verhalten basierend auf Authentifizierungs-Headern oder Client-IPs weiter anzupassen.
Best Practices für die Regelreihenfolge
Da Page Rules beim ersten Treffer stoppen, ist die Reihenfolge entscheidend:
1. Spezifischste vor allgemeinen
2. Exakte Treffer vor Mustern
3. Rewrite Rules bedenken
Denke daran, dass Page Rules nach Rewrite Rules auswerten. Gleiche gegen die umgeschriebene URL ab, nicht die originale:
Eindeutigkeit
Jede Website kann nur eine Page Rule pro eindeutigem URL-Muster haben. Wenn du versuchst, ein Duplikat zu erstellen, siehst du: "Die Regel für diese URI existiert bereits."
Dies verhindert widersprüchliche Regeln und gewährleistet vorhersehbares Verhalten.
Häufige Fehler
❌ Catch-all-Regel auf Position 1
✅ Spezifisch vor allgemein
❌ Falscher Matcher-Typ
✅ Verwende Regex für Muster
❌ Rewrites vergessen
✅ Umgeschriebene URL matchen
❌ Groß-/Kleinschreibung-Probleme
✅ Verwende case-insensitive wenn nötig
Page Rules vs Conditional Rules
Wann Page Rules wählen:
Einfache URL-basierte Logik
Erster-Treffer-Verhalten ist gewünscht
Du brauchst nur eine Regel, die angewendet wird
Wann Conditional Rules wählen:
Abgleich auf IPs, Header, Cookies, Länder erforderlich
Mehrere Regeln sollen sich stapeln/kombinieren
UND/ODER-Logik mit mehreren Bedingungen erforderlich
Kann man beide verwenden? Ja! Page Rules werden zuerst ausgeführt (Position 3), dann Conditional Rules (Position 4). Du kannst sie kombinieren:
Page Rules testen
Aktiviere Debug-Header in deiner Website-Konfiguration
Führe Testanfragen zu verschiedenen URLs durch
Prüfe die Response-Header um zu sehen, welche Page Rule zutraf
Verifiziere, dass die Einstellungen korrekt angewendet werden
Passe die Positionen an, wenn Regeln nicht wie erwartet zutreffen
Last updated
Was this helpful?