Redirectpermanent et le ? de fin d'URL (entre URL Rewrité)

Discussion dans 'URL Rewriting et .htaccess' créé par p2pi, 8 Avril 2009.

  1. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
    Salut,

    Voila un petit bout de temps que je cherche une solution à mon problème.

    Pour faire court : J'ai un redirectpermanent sur des URL rewrité vers une autre forme d'URL rewrité, j'y suis presque mais il me reste un point d'interrogation en fin de nouvelle URL !

    Détails :

    ancienne URL : http://monsite.com/truc-machin (remarque importante : pas d'extension .html mais c'est un fichier quand meme ; l'URL véritable est du genre http://monsite.com/spip.php?page=machin&id_article=4)

    nouvelle URL : http://monsite.com/truc-machin-bidule.html

    J'ai donc dans mon fichier htaccess (pour le moment) :

    Code:
    RedirectPermanent /truc-machin http://monsite.com/truc-machin-bidule.html?
    Je laisse le point d'interrogation à la fin pour justement éviter l'affichage des variables de l'URL d'origine (page=machin&id_article=4)

    Mais je souhaiterai que le ? (point d'interrogation) ne s'affiche pas ! (point d'exclamation 8) )

    J'ai bien trouver des pistes sur quelques forums, mais au final la solution et toujours : "on laisse le ? c'est toujours mieux que "page=machin&id_article=4" "

    Si quelqu'un à une idée ... Merci d'avance.
     
  2. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    il faut utilise un RewriteRule a la place :
    Code:
    RewriteEngine On
    RewriteRule ^truc-machin$ http://monsite.com/truc-machin-bidule.html? [L]
     
  3. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
    Merci,

    Effectivement cela fonctionne, pour info je suis assez curieux, explique moi vite fait la commande et le [L].

    Autre chose auquel je n'avais pas pensé :

    Mon URL rewrité /truc-machin est quelque fois du genre :
    -truc-machin-
    -truc-machin-?genre=1

    Toujours a rewrité vers du truc-machin-bidule.html !

    Et j'ai fais l'essai avec la rewrite rule cela ne fonctionne pas dans ces cas.

    Que faire ?
     
  4. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
    PS : on est bien en redirection 301 ?

    Et j'ai fais une erreur dans mon dernier post :

    l'URL http://monsite.com/-truc-machin-?genre=1 doit être rediriger vers http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=1

    et

    l'URL http://monsite.com/-truc-machin-?genre=2 doit être rediriger vers http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=2

    J'imagine qu'il y a bien un rewrite rule a faire aussi mais laquelle ?
     
  5. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    j'ai oublié un flag R=301 pour rediriger. L indique que les RewriteRule suivantes dans le fichier ne sont pas évaluée si celle-ci match.
    L'idée pour rediriger une url avec paramètres c'est d'écrire avec une condition :
    Code:
    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^genre=1$
    RewriteRule ^-truc-machin-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=1 [L,R=301]
     
  6. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
    Merci une fois de plus forty.

    Puisque tu m'as l'air plutot bien caler sur le htaccess j'ai deux dernières petites questions :

    La première :

    http://monsite.com va etre déplacer vers http//monsite.com/dossier.
    Que dois-je mettre dans mon htaccess pour que monsite.com et www.monsite.com pointe vers ce dossier mais et non plus à la racine de mon dossier html

    La deuxième :

    Je vais me retrouver avec deux sites (donc deux htaccess) !
    Ou dois-je mettre les rewriterule que tu m'as donner précédemment et la règle que je te demande plus haut.

    Et pour finir (bonus):

    Si je veux pouvoir quand même accéder à mon ancien site (avec n'importe quelle adresse) que dois-je faire ?

    J'ai déjà un peu fouiner sur le net et les forums mais je ne suis pas sur de moi.

    Merci d'avance.
     
  7. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    pour rediriger vers un répertoire il faut mettre :
    Code:
    RewriteCond $1 !^dossier
    RewriteRule ^(.*)$ /dossier/$1 [R=301,L]
    la condition permet d'éviter de rediriger les urls du dossier et de boucler.

    en général les règles de réécriture sont a la racine mais il est toujours possible de mettre des règles dans un répertoire.

    J'ai du mal a comprendre ce que tu veux faire et le lien entre le transfert vers un répertoire et l'ancien site.
     
  8. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
    En fait c'est simple, j'ai actuellement un site tout ce qu'il y a de plus normal (.com , hebergement et URL rewwriter) le tout bien référencé.

    Le probleme est que ce site ne me convient pas du tout alors je l'ai refait entièrement (en local) avec le même contenu mais avec un mode d'urlrewritting totalement différent et que je veux le mettre à la place de l'ancien (sans écraser l'ancien pour pouvoir y retourner si besoin).

    Donc pour google et pour les utilisateurs, j'aimerai faire le transfert le plus rapidement possible et le plus transparent possible (sans perdre ni référencement ni visiteurs)

    J'ai alors choisi de le mettre dans un sous dossier de mon site actuel et de tout gerer par htaccess, ce qui m'a semblé le plus simple et le plus judicieux.

    Je sais pas si j'ai été assez explicite, pour moi le problème me parait simple mais la solution me parait elle compliqué (un peu plus clair depuis tes lumières)

    Ce qui me fait cogiter maintenant c'est comment conserver l'ancien site de coté pour y retourné (au cas ou). Car ce qui me complique la compréhension c'est que le deux site on leur propre fichier htaccess avec leur propre systeme d'URL rewritting !

    Si t'as la soluce sans que je ne me tape un fichier htaccess de 1Mo, je suis preneur !

    Merci de me suivre dans ma réflexion, si j'y arrive jte file un code promo (car le site c'est du ecommerce) car je dois faire la bascule dans la nuit de demain.
     
  9. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    si c'était moi, je transférerais l'ancien site sur un sous domaine ou un sous répertoire et je mettrais le nouveau à la place de l'ancien.
     
  10. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
    ok, je pense que c'est ce que je vais faire.

    Par contre j'essaye ça :

    RewriteCond %{QUERY_STRING} ^genre=1$
    RewriteRule ^-truc-machin-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=1 [L,R=301]
    RewriteRule ^-truc-machin-bidule-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=1 [L,R=301]
    RewriteRule ^-truc-machin-bidule-chose-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=1 [L,R=301]

    RewriteCond %{QUERY_STRING} ^genre=2$
    RewriteRule ^-truc-machin-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=2 [L,R=301]
    RewriteRule ^-truc-machin-bidule-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=2 [L,R=301]
    RewriteRule ^-truc-machin-bidule-chose-$ http://monsite.com/rubrique.php?id_rubrique=1&caracteristique=1&caracdisp=2 [L,R=301]

    Mais cela ne fonctionne pas !

    En plus je rajoute au dessus

    RewriteRule ^-truc-machin-$ http://monsite.com/truc-machin-_11.html [L,R=301]
    RewriteRule ^-truc-machin-bidule-$ http://monsite.com/truc-machin-bidule_11.html [L,R=301]
    RewriteRule ^-truc-machin-bidule-chose-$ http://monsite.com/truc-machin-bidule-chose_11.html [L,R=301]
     
  11. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    attention : les RewriteCond ne s'appliquent qu'à la RewriteRule qui suit. Il faut répéter la condition si nécéssaire
     
  12. p2pi
    p2pi Nouveau WRInaute
    Inscrit:
    22 Novembre 2008
    Messages:
    7
    J'aime reçus:
    0
Chargement...
Similar Threads - Redirectpermanent fin (entre Forum Date
Supprimer la fin des url avec une RedirectPermanent 301 URL Rewriting et .htaccess 8 Mars 2011
RedirectPermanent : suffisant pour les redirections ? Problèmes de référencement spécifiques à vos sites 19 Octobre 2018
RedirectPermanent et caractères spéciaux URL Rewriting et .htaccess 28 Avril 2016
Conseil sur structure RedirectPermanent (301) avec url complète? URL Rewriting et .htaccess 23 Novembre 2015
RedirectPermanent + problème lié au point d'interrogation URL Rewriting et .htaccess 24 Avril 2015
RedirectPermanent des pages avec variables URL Rewriting et .htaccess 3 Mars 2015
caractere joker pour RedirectPermanent URL Rewriting et .htaccess 3 Décembre 2014
Problème avec redirectpermanent Netlinking, backlinks, liens et redirections 7 Septembre 2014
RedirectPermanent et variable à supprimer... Débuter en référencement 29 Août 2014
Problème/conflit "RedirectPermanent" et Url rewirting URL Rewriting et .htaccess 29 Août 2014