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
    Profil pro
    Traffic Manager - ancien dev
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Traffic Manager - ancien dev

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Par défaut .htaccess réécriture URL
    Bonjour à tous,

    Je viens a vous concernant une petite problématique de redirection.
    J'ai déjà pas mal de problème pour trouver une doc officiel et complète du htaccess... avec la syntaxe et les différentes option..


    concernant ma problématique elle est la suivantes

    j'ai un site ou l'affichage du contenu est conditionné par les variables passé en paramètre.

    http://monsite.com/index.php?p=xXx

    J'aimerai tous simplement que ces adresses soient réécriture de la façon suivante

    http://monsite.com/xXx

    J'ai essayé plusieurs syntaxe sans grand succès

    seriez-vous me dépanner ?


    J'ai essayé les syntaxe suivante mais riens ne fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    #RewriteRule ^.*\?p\=(.*)\&dir\=(.*) http://www.%{HTTP_HOST}/$1/$2 [R=301,L]
     
    #RewriteCond %{QUERY_STRING} p\=(.*)\&dir\=(.*) [L]
    #RewriteRule index\.php /$1/$2\.html [L,R=301]
     
    #
    ##### retirer le paramètre d'url
    #
    #RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTP/
    #RewriteCond %{QUERY_STRING} !^$
    #RewriteRule .* http://www.XxX.com%{REQUEST_URI}? [R=301,L]
     
    #règle de réécriture
    #RewriteRule http://www.XxX.com/index.php?p=(.*)&dir=(.*) http://www.XxX.com/$1/$2.html
     
    #Options +FollowSymlinks
    #RewriteRule ^(.*)/(.*)$ index.php?p=$1&dir=$2

  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
    Par défaut
    C'est pourtant très classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php?p=$1 [L]

  3. #3
    Membre averti
    Profil pro
    Traffic Manager - ancien dev
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Traffic Manager - ancien dev

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Par défaut
    bonsoir,

    merci pour cette réponse, mais en fait je recherche plus une réécriture de l'adresse www.XxX.com/index.php?p=y

    vers www.XxX.com/y

    que l'inverse

    cad que si je tape la première adresse je retombe sur une l'adresse optimisé SEO

    dans l'esprit de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rewritecond %{HTTP_HOST} ^franckymagie.com$
    Rewriterule ^(.*) http://www.franckymagie.com/$1 [QSA,L,R=301]
    ou là quand je tape l'adresse sans le sous domaine www

    l'adresse est réécrite avec le sous domaine "www"

  4. #4
    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

  5. #5
    Membre averti
    Profil pro
    Traffic Manager - ancien dev
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Traffic Manager - ancien dev

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Par défaut
    Merci,

    ça m'a bien aidé.
    J'ai essayé dans la même logique de réécrire deux variables mais sans succès une idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    RewriteRule ^\/galerie\/([a-zA-Z0-9]*)\.html$ index.php?internal_redirect=true&p=galerie&dir=$1 [L]
    RewriteCond %{QUERY_STRING} !internal_redirect=true
    RewriteCond %{QUERY_STRING} p=(.*)\&dir=(.*)
    RewriteRule galerie.html http://XxX.com/%1/%2.html? [R=301]
     
    RewriteRule ^([a-zA-Z0-9]*)\.html index.php?internal_redirect=true&p=$1 [L]
    RewriteCond %{QUERY_STRING} !internal_redirect=true
    RewriteCond %{QUERY_STRING} p=(.*)
    RewriteRule index.php http://XxX.com/%1.html? [R=301]
    précision : la redirection et réécriture fonctionne mais les variables d'url ne sont pas transmise pour la première régle.

    si bien que pour une url du type : http://www.XxX.com/galerie/truc.html
    J'aimerai que les variables p et dir soient transmises

    http://www.XxX.com/nimportequoi/truc...lerie&dir=truc

  6. #6
    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
    Par défaut
    La ligne 1 dans un .htaccess est incorrecte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^galerie/([a-zA-Z0-9]*)\.html$ index.php?internal_redirect=true&p=galerie&dir=$1 [L]
    Dans un .htaccess, une RewriteRule commençant par ^/ ne peut pas être activée.

Discussions similaires

  1. htaccess réécriture d'URL et redirection
    Par Sparktacus dans le forum Apache
    Réponses: 1
    Dernier message: 20/12/2009, 06h58
  2. réécriture url avec extension inconnue
    Par gigraphe dans le forum Apache
    Réponses: 1
    Dernier message: 12/02/2009, 12h07
  3. Redirection via htaccess d'URL spéciales
    Par nomasis dans le forum Apache
    Réponses: 13
    Dernier message: 01/07/2008, 18h26
  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