redirections de pages en php ?

Le
pehache
Bonjour,

j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type

1) http://xxx/article.php3?id_articleb96

sont devenues

2) http://xxx/article.php3?id_articleb96.html

Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?

Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
pehache
Le #26433114
Je mets fr.comp.lang.php en copie
Le 06/05/2017 à 10:01, pehache a écrit :
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...
Pierre www.zetrader.fr
Le #26433186
Le 07/05/2017 à 10:12, pehache a écrit :
Je mets fr.comp.lang.php en copie
Le 06/05/2017 à 10:01, pehache a écrit :
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...


Si tu veux faire une redirection 301 dans une php, tu mets ce code :
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.exemple.net/repertoire/page.php");
exit();
?>
Si tu veux le faire au niveau du fichier htaccess, il faut mettre :
RedirectPermanent /repertoire/page-a-rediriger.html
http://www.exemple.net/repertoire/page-de-destination.html
Si c'est un répertoire entier :
RedirectPermanent /repertoire
http://www.exemple.net/repertoire-de-destination
--
http://zetrader.info & http://zetrader.fr
Forum http://zeforums.com - http://aribaut.com
Pierre www.zetrader.fr
Le #26433188
Le 08/05/2017 à 12:15, Pierre www.zetrader.fr a écrit :
Le 07/05/2017 à 10:12, pehache a écrit :
Je mets fr.comp.lang.php en copie
Le 06/05/2017 à 10:01, pehache a écrit :
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...


Si tu veux faire une redirection 301 dans une php, tu mets ce code :
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.exemple.net/repertoire/page.php");
exit();
?>
Si tu veux le faire au niveau du fichier htaccess, il faut mettre :
RedirectPermanent /repertoire/page-a-rediriger.html
http://www.exemple.net/repertoire/page-de-destination.html
Si c'est un répertoire entier :
RedirectPermanent /repertoire
http://www.exemple.net/repertoire-de-destination

Il y a beaucoup d'articles à rediriger ?
Pour savoir si c'est faisable à la main dans la page php ou si il vaut
mieux créer une règle.
--
http://zetrader.info & http://zetrader.fr
Forum http://zeforums.com - http://aribaut.com
Olivier Miakinen
Le #26433221
Le 06/05/2017 10:01, pehache a écrit :
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?

C'est un serveur Apache ? As-tu pensé à essayer « Options +MultiViews »
dans le .htaccess ?
--
Olivier Miakinen
pehache
Le #26433261
Le 08/05/2017 à 12:17, Pierre www.zetrader.fr a écrit :
Le 08/05/2017 à 12:15, Pierre www.zetrader.fr a écrit :
Le 07/05/2017 à 10:12, pehache a écrit :
Je mets fr.comp.lang.php en copie
Le 06/05/2017 à 10:01, pehache a écrit :
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les
adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...


Si tu veux faire une redirection 301 dans une php, tu mets ce code :
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.exemple.net/repertoire/page.php");
exit();
?>
Si tu veux le faire au niveau du fichier htaccess, il faut mettre :
RedirectPermanent /repertoire/page-a-rediriger.html
http://www.exemple.net/repertoire/page-de-destination.html
Si c'est un répertoire entier :
RedirectPermanent /repertoire
http://www.exemple.net/repertoire-de-destination

Il y a beaucoup d'articles à rediriger ?

Environ 6500 ;)
Pour savoir si c'est faisable à la main dans la page php ou si il vaut
mieux créer une règle.
pehache
Le #26433260
Le 06/05/2017 à 10:01, pehache a écrit :
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html

En fait plus exactement
2) http://xxx/article.php3%3Fid_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...

On m'a donné par ailleurs la solution :
<?php
$id_article=$_GET["id_article"];
if (substr($id_article,-4)!="html") {
header('Location:
'.$_SERVER["SCRIPT_URI"]."%3F".$_SERVER["QUERY_STRING"].".html");
exit(); }
?>
Ca marche.
pehache
Le #26433259
Le 08/05/2017 à 15:53, Olivier Miakinen a écrit :
Le 06/05/2017 10:01, pehache a écrit :
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?

C'est un serveur Apache ?

Oui (hébergement OVH)
As-tu pensé à essayer « Options +MultiViews »
dans le .htaccess ?

Ca fait quoi ?
Denis Beauregard
Le #26433274
Le Sat, 6 May 2017 10:01:59 +0200, pehache écrivait dans fr.comp.infosystemes.www.auteurs:
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...

J'ai ajouté ces règles (parmi un grand nombre !) à mon .htaccess
RewriteEngine on
RewriteRule ^gfan/gfan/([0-2][0-9][0-9])/([0-9]+).php$
http://www.monsite.com/genealogie-quebec-genealogy/$1/$2.php [R01,L]
Ici, on a $1 = ([0-2][0-9][0-9]) ou un chiffre de 001 à 299
qui est le dossier avant et après, et $2 = ([0-9]+).php
soit la page en soi, avant et après.
Denis
Pierre www.zetrader.fr
Le #26433320
Le 08/05/2017 à 19:15, pehache a écrit :
Le 06/05/2017 à 10:01, pehache a écrit :
Bonjour,
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html

En fait plus exactement
2) http://xxx/article.php3%3Fid_articleb96.html
Ce n'est pas très grave, Google va finir par réindexer le site à partir
de la racine http://xxx/ qui est toujours valide, mais je me demande si
il existerait un moyen simple sur le serveur pour rediriger les adresses
invalides (1) vers les adresses valides (2) ?
Je suppose qu'en créant un fichier "article.php3" qui va bien il doit y
avoir moyen ? Mais je n'y connais (presque) rien en php...

On m'a donné par ailleurs la solution :
<?php
$id_article=$_GET["id_article"];
if (substr($id_article,-4)!="html") {
header('Location:
'.$_SERVER["SCRIPT_URI"]."%3F".$_SERVER["QUERY_STRING"].".html");
exit(); }
?>
Ca marche.

Intéressant, merci pour l'info, cela peut être intéressant dans d'autres
cas :)
--
http://zetrader.info & http://zetrader.fr
Forum http://zeforums.com - http://aribaut.com
Olivier Miakinen
Le #26433322
Le 08/05/2017 19:16, pehache a écrit :
j'ai converti un vieux blog SPIP (conservé uniquement comme archive en
ligne, mais qui n'est plus utilisé) en version statique en l'aspirant
avec wget. Ca marche, mais il y a un petit souci : les adresses de type
1) http://xxx/article.php3?id_articleb96
sont devenues
2) http://xxx/article.php3?id_articleb96.html



En réalité :
2) http://xxx/article.php3%3Fid_articleb96.html
C'est un serveur Apache ?

Oui (hébergement OVH)

Ok.
As-tu pensé à essayer « Options +MultiViews »
dans le .htaccess ?

Ca fait quoi ?

Ça permet de donner une URL sans extension, et que le serveur
trouve lui-même le fichier avec extension qui va bien. Mais vu
qu'il y a autre chose que l'extension qui diffère (%3F au lieu
de ?) mon idée ne pouvait pas fonctionner dans ton cas.
--
Olivier Miakinen
Publicité
Poster une réponse
Anonyme