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 :

[htaccess] Réécriture URL


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Par défaut [htaccess] Réécriture URL
    Bonjour

    Sur un site, beaucoup des adresses sont du type /index.php?t=ste_info&id=XX&....
    J'aimerais faire une règle pour que l'utilisateur voit plutôt /ste_info/id=XX&.... ou quelque chose d'approchant

    J'avoue que la documentation sur le .htaccess est pour l'instant assez obscure et je vais besoin assez urgemment de cette redirection

    Merci pour votre aide

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    ceci devrait t'intéresser : Tutoriel d'URL Rewriting (réécriture de liens).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Certains forum ce sont spécialisés la dessus, voir à chercher forum Regex, pour avoir de l'aide d'experts qui mangent des Regex régulièrement.

    Tu as aussi des outils pour tester les regex : https://regexr.com

    Des propositions de regex : http://www.expreg.com/lire-Chaines-source

  4. #4
    Membre averti
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Par défaut
    Tout d'abord, merci pour les liens

    Cependant, j'avoue que je bloque tout de même

    J'aimerais que l'URL suivante : http://127.0.0.1:8080/res_soc/ste_info/nouveau/start=0
    Soit réécrite en http://127.0.0.1:8080/res_soc/index.php?t=ste_info&m=nv&start=0

    De même http://127.0.0.1:8080/res_soc/ste_info/modification/124/start=0
    Réécrit en http://127.0.0.1:8080/res_soc/index.php?t=ste_info$id=124&m=mod&start=0

    Mon .htaccess est donc du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DirectoryIndex index.php
    RewriteEngine on
    RewriteRule ([a-zA-Z0-9]+)/nouveau/(.*) index.php?t=$1&m=nv [QSA]
    RewriteRule ([a-zA-Z0-9]+)/modification/([0-9]+)/(.*) index.php?a=$1&id=$2&m=mod&$3 [QSA]
    ErrorDocument 404 http://www.XXXX.com/404.php
    Quand je demande à voir la page http://127.0.0.1:8080/res_soc/ste_info/nouveau/start=0, je tombe sur une page vide.
    A l'évidence, il ne comprend pas la valeur de [t] car si je met le code suivant, cela fonctionne.
    Un problème avec $1 à priori
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ([a-zA-Z0-9]+)/nouveau/(.*) index.php?t=ste_info&m=nv [QSA]
    Auriez vous une idée pour corriger ce problème ?

    Cdlt

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Dans ton url#1, http://127.0.0.1:8080/res_soc/ste_info/nouveau/start=0, il te faut récupérer les groupes suivants :

    Group $1 http://127.0.0.1:8080/res_soc
    Group $2 ste_info
    Group $3 start=0
    tu peux récupérer cela via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule (.*)/(.*)/nouveau/(.*) $1/index.php?t=$2&m=nv&$3 [QSA]

    Dans ton url#2, http://127.0.0.1:8080/res_soc/ste_info/modification/124/start=0, il te faut récupérer les groupes suivants :

    Group $1 http://127.0.0.1:8080/res_soc
    Group $2 ste_info
    Group $3 124
    Group $4 start=0
    tu peux récupérer cela via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule (.*)/(.*)/modification/([0-9]+)/(.*) $1/index.php?t=$2&id=$3&m=mod&$4 [QSA]
    ou quelque chose qui ne doit pas en être loin.

Discussions similaires

  1. htaccess Réécriture URL
    Par dojbouli dans le forum Serveurs (Apache, IIS,...)
    Réponses: 0
    Dernier message: 02/11/2015, 13h56
  2. .htaccess réécriture URL
    Par teal_cfr dans le forum Apache
    Réponses: 5
    Dernier message: 01/09/2012, 21h38
  3. htaccess réécriture d'URL et redirection
    Par Sparktacus dans le forum Apache
    Réponses: 1
    Dernier message: 20/12/2009, 06h58
  4. Problème d'authentification / réécriture URL
    Par arN34 dans le forum Apache
    Réponses: 4
    Dernier message: 30/09/2006, 15h24
  5. Include_path, .htaccess et URL !!
    Par Mike91 dans le forum Apache
    Réponses: 2
    Dernier message: 01/06/2006, 13h19

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