Nachgestellter Schrägstrich

Ein Middleware, der automatisch einen nachgestellten Schrägstrich (/) hinzufügt oder entfernt.

Anwendungsfälle

Die Trailing-Slash-Middleware ist besonders nützlich in folgenden Szenarien:

  • URL-Normalisierung: Stellt sicher, dass alle URLs einem einheitlichen Format folgen (entweder durchgängig mit oder ohne nachgestellten Schrägstrich), was die SEO verbessert und Probleme mit doppelten Inhalten vermeidet.

  • Vereinfachung des Routings: Es ist nicht notwendig, separate Logik für URLs mit und ohne Schrägstrich zu schreiben, da die Middleware diese Umwandlung automatisch vornimmt.

  • Kompatibilität: Einige Clients fügen möglicherweise automatisch einen Schrägstrich am Ende der URL hinzu oder entfernen ihn. Diese Middleware stellt sicher, dass die Anfrage korrekt weitergeleitet wird.

  • Umleitungsverwaltung: Kann so konfiguriert werden, dass URLs mit Schrägstrich automatisch zu URLs ohne Schrägstrich umgeleitet werden (oder umgekehrt), was die Benutzererfahrung verbessert.

  • Vermeidung von Routing-Konflikten: In vielen Web-Frameworks werden /pfad und /pfad/ möglicherweise als unterschiedliche Routen behandelt. Diese Middleware kann sie einheitlich verarbeiten.

Beispielcode

main.rs
Cargo.toml
trailing-slash/src/main.rs
use salvo::prelude::*;
use salvo::trailing_slash::add_slash;

#[handler]
async fn hello() -> &'static str {
    "Hello"
}

#[tokio::main]
async fn main() {
    tracing_subscriber::fmt().init();
    let router = Router::with_hoop(add_slash())
        .push(Router::with_path("hello").get(hello))
        .push(Router::with_path("hello.world").get(hello));
    let acceptor = TcpListener::new("0.0.0.0:5800").bind().await;
    Server::new(acceptor).serve(router).await;
}
Auf dieser Seite