Discussion:
redirections de pages en php ?
(trop ancien pour répondre)
pehache
2017-05-07 08:12:29 UTC
Permalink
Je mets fr.comp.lang.php en copie
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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.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
2017-05-08 10:15:11 UTC
Permalink
Post by pehache
Je mets fr.comp.lang.php en copie
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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.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
2017-05-08 10:17:48 UTC
Permalink
Post by Pierre www.zetrader.fr
Post by pehache
Je mets fr.comp.lang.php en copie
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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.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...
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.exemple.net/repertoire/page.php");
exit();
?>
RedirectPermanent /repertoire/page-a-rediriger.html
http://www.exemple.net/repertoire/page-de-destination.html
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
pehache
2017-05-08 17:14:42 UTC
Permalink
Post by Pierre www.zetrader.fr
Post by Pierre www.zetrader.fr
Post by pehache
Je mets fr.comp.lang.php en copie
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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.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...
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.exemple.net/repertoire/page.php");
exit();
?>
RedirectPermanent /repertoire/page-a-rediriger.html
http://www.exemple.net/repertoire/page-de-destination.html
RedirectPermanent /repertoire
http://www.exemple.net/repertoire-de-destination
Il y a beaucoup d'articles à rediriger ?
Environ 6500 ;)
Post by Pierre www.zetrader.fr
Pour savoir si c'est faisable à la main dans la page php ou si il vaut
mieux créer une règle.
pehache
2017-05-08 17:15:09 UTC
Permalink
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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.html
En fait plus exactement

2) http://xxx/article.php3%3Fid_article=6296.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.
Pierre www.zetrader.fr
2017-05-09 13:23:45 UTC
Permalink
Post by 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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.html
En fait plus exactement
2) http://xxx/article.php3%3Fid_article=6296.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...
<?php
$id_article=$_GET["id_article"];
if (substr($id_article,-4)!="html") {
'.$_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
pehache
2017-05-08 17:16:35 UTC
Permalink
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_article=6296
sont devenues
2) http://xxx/article.php3?id_article=6296.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 ?
Loading...