Barre oblique finale

Un middleware pour ajouter ou supprimer automatiquement la barre oblique / à la fin des URLs.

Cas d'utilisation

Le middleware Trailing Slash est particulièrement utile dans les situations suivantes :

  • Normalisation des URLs : Garantit que toutes les URLs suivent un format cohérent (en ajoutant ou supprimant systématiquement la barre oblique finale), ce qui améliore le référencement naturel (SEO) et évite les problèmes de contenu dupliqué.

  • Simplification du routage : Évite d'avoir à écrire une logique de routage distincte pour les URLs avec ou sans barre oblique finale, le middleware gère automatiquement cette conversion.

  • Compatibilité : Certains clients peuvent automatiquement ajouter ou supprimer la barre oblique finale des URLs, ce middleware assure que les requêtes sont correctement routées.

  • Gestion des redirections : Peut être configuré pour rediriger automatiquement les URLs avec barre oblique vers celles sans barre oblique (ou vice versa), améliorant ainsi l'expérience utilisateur.

  • Prévention des conflits de routage : Dans de nombreux frameworks web, /path et /path/ peuvent être considérés comme des routes différentes, ce middleware permet de les traiter de manière unifiée.

Exemple de code

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;
}
Sur cette page