Nachgestellter Schrägstrich

Ein Middleware zur automatischen Hinzufügung oder Entfernung nachgestellter /.

Anwendungsfälle

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

  • URL-Normalisierung: Stellt sicher, dass alle URLs einem einheitlichen Format folgen (durch konsistentes Hinzufügen oder Entfernen nachgestellter Schrägstriche), was die SEO verbessert und Duplicate-Content-Probleme vermeidet.

  • Vereinfachte Routenverwaltung: Eliminiert die Notwendigkeit, separate Routing-Logik für URLs mit und ohne nachgestellten Schrägstrich zu schreiben, da die Middleware diese Konvertierung automatisch handhabt.

  • Kompatibilität: Einige Clients fügen URLs möglicherweise automatisch nachgestellte Schrägstriche hinzu oder entfernen sie. Diese Middleware stellt sicher, dass Anfragen korrekt weitergeleitet werden.

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

  • Vermeidung von Routenkonflikten: In vielen Web-Frameworks werden /pfad und /pfad/ als unterschiedliche Routen behandelt. Diese Middleware kann sie einheitlich handhaben.

Beispielcode

main.rs
Cargo.toml
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:8698").bind().await;
    Server::new(acceptor).serve(router).await;
}