1. Pour Black Friday on FRACASSE les prix ⚡ avec RM Tech Découverte
    Rejeter la notice

Rediriger une page

Discussion dans 'URL Rewriting et .htaccess' créé par sigma2008, 6 Avril 2020.

  1. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Bonjour,
    J'aimerais rediriger les pages qui ont ce lien :

    Code:
    https://www.website.com/wp-signup.php?new=website.com&step=plan&cs=xxxxxxxxxxx
    Où xxxxxxxxxxx est une variable (ex : 5e887da84e1987.21022444)

    Vers cette adresse :

    Code:
    https://www.website.com/nouvelle-page
    Merci.
     
  2. emualliug
    emualliug WRInaute discret
    Inscrit:
    1 Février 2020
    Messages:
    237
    J'aime reçus:
    44
    Tout dépend de la méthode ; pour une implémentation dans le .htaccess :
    Code:
    RewriteCond %{REQUEST_URI}  ^/wp-signup\.php$
    RewriteCond %{QUERY_STRING} ^new=website.com&step=plan&cs=.+$
    RewriteRule ^(.*)$ https://www.website.com/nouvelle-page [L]
    (quelques infos en plus)
    C'est éventuellement à adapter, notamment pour être plus précis sur la seconde RewriteCond, suivant les formes que peut avoir la "variable" et sur le code de redirection, le cas échéant, sur la RewrtieRule.

    Après, je ne suis pas fan des .htaccess à rallonge. Pour les cas spécifiques, je préfère gérer ça en php, mais ça dépend des besoins et de la structure du site.
     
  3. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Merci @emualliug, malheureusement le code ne redirige pas la page :(
     
  4. emualliug
    emualliug WRInaute discret
    Inscrit:
    1 Février 2020
    Messages:
    237
    J'aime reçus:
    44
    Il faut rajouter une redirection à la fin de la dernière ligne [R=301,L] ou [R=302,L], suivant le code que l'on souhaite envoyer
     
  5. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Comme ceci ?

    Code:
    RewriteCond %{REQUEST_URI}  ^/wp-signup\.php$
    RewriteCond %{QUERY_STRING} ^new=website.com&step=plan&cs=.+$
    RewriteRule ^(.*)$ https://www.website.com/nouvelle-page [L] [R=302,L]
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    Non comme ça :


    Code:
    RewriteCond %{REQUEST_URI}  ^/wp-signup\.php$
    RewriteCond %{QUERY_STRING} ^new=website.com&step=plan&cs=.+$
    RewriteRule ^(.*)$ https://www.website.com/nouvelle-page [R=301,L]
     
  7. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
  8. emualliug
    emualliug WRInaute discret
    Inscrit:
    1 Février 2020
    Messages:
    237
    J'aime reçus:
    44
    Je présuppose que mod_rewrite est bien activé ?

    Et s'il y a d'autres RewriteRule auparavant qu'elles n'interfèrent pas avec celle-ci.
     
  9. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Oui @emualliug, voici mon code :

    Code:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    
    RewriteCond %{REQUEST_URI}  ^/wp-signup\.php$
    RewriteCond %{QUERY_STRING} ^new=website.com&step=plan&cs=.+$
    RewriteRule ^(.*)$ https://www.website.com/nouvelle-page [R=301,L]
    J'ai juste masqué mon domaine en le modifiant par website
     
  10. emualliug
    emualliug WRInaute discret
    Inscrit:
    1 Février 2020
    Messages:
    237
    J'aime reçus:
    44
    Code:
    RewriteRule ^(.*\.php)$ $1 [L]
    C'est là qu'est le soucis.
    Ton URL "https://www.website.com/wp-signup.php?new=website.com&step=plan&cs=5e8dd3d23a5796.03693131" répond à cette règle qui a un drapeau [L]

    Donc inverse ton traitement et ça devrait passer.

    Pour être plus clair :
    Code:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_URI}  ^/wp-signup\.php$
    RewriteCond %{QUERY_STRING} ^new=website.com&step=plan&cs=.+$
    RewriteRule ^(.*)$ https://www.website.com/nouvelle-page [R=301,L]https://www.website.com/wp-signup.php?new=website.com&step=plan&cs=5e8dd3d23a5796.03693131
    
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    
     
  11. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
  12. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Juste une dernière chose, la redirection fonctionne très bien, mais j'ai le texte ( ?new=website.com&step=plan&cs=xxxxxxx ) qui vient se coller à la fin du lien comme ceci :
    Code:
    https://www.website.com/nouvelle-page
    ?new=website.com&step=plan&cs=xxxxxxx
    Sinon, au pire, je le laisse comme ça.
     
  13. emualliug
    emualliug WRInaute discret
    Inscrit:
    1 Février 2020
    Messages:
    237
    J'aime reçus:
    44
    Ajouter le drapeau QSD (pour query string discard). Et comme je me suis planté dans mon premier copier-coller, en pénitence, je te remets le tout :
    Code:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_URI}  ^/wp-signup\.php$
    RewriteCond %{QUERY_STRING} ^new=website.com&step=plan&cs=.+$
    RewriteRule ^(.*)$ https://www.website.com/nouvelle-page [R=301,L,QSD]
    
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
     
  14. sigma2008
    sigma2008 WRInaute impliqué
    Inscrit:
    18 Juin 2008
    Messages:
    775
    J'aime reçus:
    5
    Merci,
    Malheureusement le texte ( ?new=website.com&step=plan&cs=5e8cca7feca6d0.46029125 ) est toujours dans le lien !
     
Chargement...
Similar Threads - Rediriger Forum Date
Comment rediriger en 301 toutes les 404 vers une page précise ? Débuter en référencement 9 Septembre 2020
Rediriger Index.php vers racine URL Rewriting et .htaccess 15 Août 2020
Tout rediriger sauf une page contenant 'JS' URL Rewriting et .htaccess 3 Juin 2020
Rediriger un site avec www vers sans www Administration d'un site Web 20 Avril 2020
Rediriger uniquement le dossier sans les pages internes Netlinking, backlinks, liens et redirections 17 Février 2020
Rediriger site dans un dossier à la racine Demandes d'avis et de conseils sur vos sites 14 Novembre 2019
Comment rediriger si la langue n'est plus dispo sur le nouveau site Référencement international (langues, pays) 27 Août 2019
Rediriger sujet phpBB3 vers Vanilla 3 URL Rewriting et .htaccess 6 Août 2019
Rediriger uniquement la page d'accueil URL Rewriting et .htaccess 5 Juin 2019
Comment rediriger par adresse IP ? Référencement international (langues, pays) 7 Mai 2019