IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Htacess : le dernier slash dans l'url


Sujet :

Apache

  1. #1
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 204
    Points : 123
    Points
    123
    Par défaut Htacess : le dernier slash dans l'url
    Bonjour,

    dans le fichier htacess de mon domaine, j'ai mis le code de réecriture pour que le sous-domaine pointe vers le paramètre GET appelé lang, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /
     
    RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$ [NC]
    RewriteRule ^(.*)$ $1?lang=%1 [NC,L]
    J'ai mis dans le site un dossier nommé test dans lequel j'ai mis un fichier banal index.php qui affiche le contenu de la variable $_GET["lang"].

    Ensuite, quand je tape dans la barre d'url du navigateur, l'adresse en.example.com/test/, le code de réecriture marche car la page m'affiche bien la valeur de la variable $_GET["lang"], càd en.

    Mais si je tape l'adresse en.example.com/test (sans le slash à la fin), j'ai une redirection vers l'adresse en.example.com/test/?lang=en => il y a un problème.

    Donc lorsqu'il n'y a pas le slash à la fin, alors que le dossier existe, comment faire pour que apache ajoute automatiquement un slash à la fin,
    et qu'il n'y ai pas de redirection vers en.example.com/test/?lang=en ?

    Merci d'avance, cordialement.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Il faut demander à Apache de faire la redirection avant de traiter ta réécriture. Pour faire ça, je ne vois rien d'autre que de faire la redirection à la place d'Apache :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /
     
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule (.*) $1/ [R,L]
     
    RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$ [NC]
    RewriteRule ^(.*)$ $1?lang=%1 [NC,L]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. [MVC] Dernier slash dans URL
    Par andlio dans le forum Spring Web
    Réponses: 4
    Dernier message: 30/05/2013, 13h23
  2. Slash dans url rewriting
    Par nico.riv dans le forum Apache
    Réponses: 1
    Dernier message: 13/08/2009, 10h50
  3. Supprimer le slash final des URLs dans une optique SEO
    Par Flackou dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 10/03/2009, 15h18
  4. [URL Rewriting] Prise en compte du slash dans ma règle
    Par Joseph345 dans le forum Apache
    Réponses: 3
    Dernier message: 02/02/2008, 21h34
  5. [URL Rewriting] Sans slash final dans l'URL
    Par yanice dans le forum Apache
    Réponses: 2
    Dernier message: 26/10/2007, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo