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 :

RewriteRule ou redirectPermanent ?


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Par défaut RewriteRule ou redirectPermanent ?
    Bonjour
    j ai un petit souci : voici mon htaccess

    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
    DirectoryIndex index.html index.php
     
    <IfModule mod_rewrite.c>
    RewriteEngine on
    # Pleas note that RewriteBase setting is obsolete use it only in case you experience  some problems with SEO addon.
    # Some hostings require RewriteBase to be uncommented
    # Example:
    # Your store url is <a href="http://www.yourcompany.com/store/cart" target="_blank">http://www.yourcompany.com/store/cart</a>
    # So "RewriteBase" should be:
    # RewriteBase /store/cart
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !\.(png|gif|ico|swf|jpe?g|js|css)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php?sef_rewrite=1 [L,QSA]
     
    </IfModule>
    sur le même domaine je dois rediriger mes pages
    mondomaine/products/monproduit.html est devenu mondomaine/monproduit.html



    j'ai essayé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RedirectMatch 301 ^/pages/(.*)$ mondomaine/$1
    et je me retrouve avec une url avec à la fin ?sef_rewrite

    une aide serait apprécié
    merci

  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
    Je n'ai pas compris le titre de ton thread : si tu remplaces ton RedirectMatch par une RewriteRule, ça marche ou pas ? Il faut vider le cache du navigateur entre chaque test sur les redirections permanentes.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Je n'ai pas compris le titre de ton thread : si tu remplaces ton RedirectMatch par une RewriteRule, ça marche ou pas ? Il faut vider le cache du navigateur entre chaque test sur les redirections permanentes.
    Bonjour
    merci de votre réponse
    avec redirectMatch je me retrouve avec cette url

    mondomaine/monproduit.html?sef_rewrite=1

    ça redirige mais le ?sef_rewrite=1 à la fin fait désordre pour moi d'autant que google commence à l'indexer

    je vais tester le RewriteRule
    Lucien

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Je n'ai pas compris le titre de ton thread : si tu remplaces ton RedirectMatch par une RewriteRule, ça marche ou pas ? Il faut vider le cache du navigateur entre chaque test sur les redirections permanentes.
    Le rewriteRule ne marche pas comme je veux
    j ai modifié le htaccess

    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
    20
    21
    22
    23
    DirectoryIndex index.html index.php
     
    <IfModule mod_rewrite.c>
    RewriteEngine on
    # Pleas note that RewriteBase setting is obsolete use it only in case you experience  some problems with SEO addon.
    # Some hostings require RewriteBase to be uncommented
    # Example:
    # Your store url is http://www.yourcompany.com/store/cart
    # So "RewriteBase" should be:
    # RewriteBase /store/cart
    RewriteBase /
    RewriteCond %{REQUEST_URI} [A-Z]
    RewriteCond %{REQUEST_FILENAME} !\.(?:png|gif|ico|swf|jpg|jpeg|js|css|php)$
    RewriteRule (.*) ${lc:http://mondomaine.fr/$1} [R=301,L]
     
    RewriteCond %{REQUEST_URI} /products/Ambassy-Presse.html
      RewriteRule ^.*$ http://www.mondomaine.fr/ambassy-presse.html  [L,R=301]
     
    RewriteCond %{REQUEST_URI} /products/Ambassadeur-Presse.html
     RewriteRule ^.*$ http://www.mondomaine.fr/ambassadeur-presse.html  [L,R=301]
     
     
    </IfModule>
    j ai testé avec ce module http://htaccess.madewithlove.be/

    si j envoi http://www.mondomaine.fr/products/Am...ur-Presse.html
    j ai bien en sortie http://www.mondomaine.fr/ambassadeur-presse.html

    il doit y avoir une règle qui permet de résoudre cela sans avoir a écrire une condition pour chaque produit

    par aillleurs j ignore à quoi sert ces ligne que j ai remplacé ou zappé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{REQUEST_FILENAME} !\.(png|gif|ico|swf|jpe?g|js|css)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php?sef_rewrite=1 [L,QSA]
    Lucien

  5. #5
    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
    Je ne comprends pas la ligne 14 du .htaccess que tu donnes en haut de ton dernier post ${lc:...} est une syntaxe que je ne connais pas : elle sort d'où ?

    En outre, je ne vois pas dans ce .htaccess le RewriteRule qui remplace le RedirectMatch.

    Pour ta dernière question, je ne sais pas non plus à quoi servent ces lignes mais ce sont clairement elles qui cause ton problème. Si ton site marche très bien sans, pourquoi ne pas les retirer ?

    Petit rappel : il est indispensable de vider le cache de ton navigateur chaque fois que tu testes car les redirections permanentes sont gardées en mémoire par les navigateurs.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Je ne comprends pas la ligne 14 du .htaccess que tu donnes en haut de ton dernier post ${lc:...} est une syntaxe que je ne connais pas : elle sort d'où ?

    En outre, je ne vois pas dans ce .htaccess le RewriteRule qui remplace le RedirectMatch.

    Pour ta dernière question, je ne sais pas non plus à quoi servent ces lignes mais ce sont clairement elles qui cause ton problème. Si ton site marche très bien sans, pourquoi ne pas les retirer ?

    Petit rappel : il est indispensable de vider le cache de ton navigateur chaque fois que tu testes car les redirections permanentes sont gardées en mémoire par les navigateurs.
    Bonsoir Mac
    je suis un novice mais ça tu l'a deviné

    - A quoi servent ces lignes : se sont les lignes htaccess fourni avec le soft (cs-cart)

    - lc : lowercase mais je l'utilise certainement de manière inadéquate
    et donc inopérant une indication ici

    http://www.chrisabernethy.com/force-...h-mod_rewrite/

    avec ma nouvelle boutique et son seo toute l'url passe en minuscule
    je dois donc rediriger et faire passer l'url en minuscule

    mondomaine/products/Monproduit.html en mondomaine/monproduit.html
    et cela pour l ensemble de mes produits

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^/products/(.*)$mondomaine/$1
    ne fonctionne pas je reste avec l'url de départ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_URI} /products/Ambassy-Presse.html
      RewriteRule ^.*$ http://www.mondomaine.fr/ambassy-presse.html  [L,R=301]
    fonctionne

    Peut tu m'indiquer quelle serait la syntaxe pour en 2 lignes le passer à l ensemble des produits ? si c'est faisable bien sûr


    merci
    Lucien

  7. #7
    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
    Le truc que tu as trouvé passe par une RewriteMap. Sans cela, ça ne peut pas marcher. Et malheureusement pour toi, RewriteMap ne peut figurer que dans la configuration centrale d'Apache. Bref, ${lc:...} n'est pas la bonne technique si tu ne disposes pas des accès au fichier httpd.conf ou aux fichiers de configuration des hôtes virtuels.

    Donc si tu n'as pas accès à ces fichiers, il faut passer par un script PHP qui va faire le changement de casse et la redirection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule [A-Z] tolower_redirect.php [L]
    avec un script tolower_redirect.php qui passe l'URL en minuscule et redirige le navigateur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. RedirectPermanent Url qui a été déja Rewriterule
    Par dztcid dans le forum Apache
    Réponses: 9
    Dernier message: 22/10/2011, 20h36
  2. Encore un petit rewriterule
    Par Are-no dans le forum Apache
    Réponses: 2
    Dernier message: 25/01/2007, 16h14
  3. Réponses: 3
    Dernier message: 07/01/2007, 13h09
  4. Rewriterule : html OK mais redirection non !
    Par baladeornitho dans le forum Apache
    Réponses: 5
    Dernier message: 02/12/2006, 09h57
  5. [.htaccess] utiliser '#' dans un RewriteRule
    Par Are-no dans le forum Apache
    Réponses: 2
    Dernier message: 14/08/2006, 18h27

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