Version complète: sur le forum Webmaster Hub : RedirectPermanent en php
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Raoulmapoule
Bonjour,

Connaissez vous un moyen d'imiter le RedirectPermanent du .htaccess mais en passant par une page php ?

Mon problème vient du fait que mon ancien site était sur free et que ce dernier ne fait pas les redirections sur les pages php.
Dan
Salut Raoulmapoule,

C'est simple avec php , quelques lignes suffisent:
CODE
header("HTTP/1.0 301 Moved Permanently");
header("Status: 301 Moved Permanently");
header("Location: http://www.domain.com/chemin/vers/page.html");
exit;


Si tu veux valider tes entêtes et redirections, utilises l'outil du Hub: visualisateur d'entêtes HTTP sur la page Les Outils

Dan
Raoulmapoule
J'ai essayé et j'ai l'erreur suivante :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, no.valid.5-1_AT_email and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Anonymus
Ce que tu peux faire, c'est rediriger vers des pages html (si free le permet), puis sur ton nouveau site, rediriger ces pages vers des pages php. C'est un peu capilo-tracté (tiré par les cheveux), mais c'est une solution.
Sinon, il te faudra renvoyer le bon entete aux moteurs de recherche, via php. C'est possible, mais source d'erreurs.
Pour envoyer un entete, un simple
header("location:nouvelle_page.php")
suffit.

Nico.
Dan
Salut Raoulmapoule,

Pourrais-tu poster le code de ton php qui pose problème ?
Le code que je t'ai donné est le bon et je l'utilise sur plusieurs sites depuis belle lurette. Soit tu as introduit une erreur en le recopiant, soit Free a interdit ce type de redirection.
L'interdiction est plausible (et regrettable) comme beaucoup d'hébergeurs gratuits ne font rien pour faciliter le départ de leurs abonnés, au contraire.
Je sais par exemple que Free utilise des serveurs différents pour les pages html et les pages php... et que le php fait deja l'objet d'une redirection chez eux...

Dan
Fruge
Bonsoir tout le monde,
CITATION(Dan @ mardi 24 février 2004, 19:50)
L'interdiction est plausible (et regrettable) comme beaucoup d'hébergeurs gratuits ne font rien pour faciliter le départ de leurs abonnés, au contraire.

Pas la peine de s'inquiéter : de ce côté là, Free est réglo wink.gif .

Les Redirect permanent du .htaccess marchent bel et bien chez Free wink.gif . Un exemple : http://hist.geo.free.fr/Cours/T-H/T-H-PI/T...PI-C1-Plan.html, CQFD

Voici qui devrait simplifier tes problèmes smile.gif

Fruge.
Dan
Oui Fruge,

D'ailleurs on voit bien que les pages php et html ne sont pas servies par les mêmes bécanes, celle qui sert le php a une version plutôt ancienne d'Apache (1.3.20)
Mais ton exemple donne une redirection d'une page .html .... as-tu essayé une redirection au départ d'une page php ?

CITATION
URL: http://hist.geo.free.fr/Cours/T-H/T-H-PI/T...PI-C1-Plan.html
HTTP/1.1 301 Moved Permanently
Date: Tue, 24 Feb 2004 19:16:59 GMT
Server: Apache/1.3.26 (Unix) Debian GNU/Linux
Location: http://www.hist-geo.com/Cours/Terminale/Hi...itre-1-Plan.php
Connection: close
Content-Type: text/html; charset=iso-8859-1

Redirection permanente vers :
CODE
URL: http://www.hist-geo.com/Cours/Terminale/Histoire/Chapitre-1-Plan.php
HTTP/1.1 200 OK
Date: Tue, 24 Feb 2004 19:16:59 GMT
Server: Apache/1.3.20 (Unix) Debian/GNU mod_fastcgi/2.2.12 mod_perl/1.25
X-Powered-By: PHP/4.3.1
Content-Type: text/html
X-Cache: MISS from www.hist-geo.com
Connection: close
Fruge
CITATION(Dan @ mardi 24 février 2004, 20:21)
Mais ton exemple donne une redirection d'une page .html .... as-tu essayé une redirection au départ d'une page php ?

Oups , c'est vrai... blush.gif

Bon, bin je viens de modifier le .htaccess : tu peux tenter le coup avec l'URL -http://hist.geo.free.fr/Cours/T-H/T-H-PI/T-H-PI-C1/T-H-PI-C1-Plan.php (la même chose que dans le post précédent, mais en ".php"), et ca à l'air de marcher aussi wink.gif

Fruge.
Fruge
CITATION(Dan @ mardi 24 février 2004, 20:21)
D'ailleurs on voit bien que les pages php et html ne sont pas servies par les mêmes bécanes, celle qui sert le php a une version plutôt ancienne d'Apache (1.3.20)

Bon, là, je vais peut être dire des conneries (je ne connais pas la structures des serveurs Proxad), mais en fait, avec le premier PermanentRedirect que j'ai donné (celui dont tu donnes les en-têtes), on peut penser qu'on passe d'un serveur Free-html à un serveur Online, et non à un serveur Free-php... car il semble plausible que les serveurs Free (gratuits) et Online (Payant) ne soient pas les mêmes physiquement, non ???

A titre indicatif : avec la redirection à partir de la page ".php"
CITATION
URL: http://hist.geo.free.fr/Cours/T-H/T-H-PI/T...-PI-C1-Plan.php
HTTP/1.1 301 Moved Permanently
Date: Tue, 24 Feb 2004 19:37:26 GMT
Server: Apache/1.3.27 (Unix) Debian GNU/Linux
Location: http://www.hist-geo.com/Cours/Terminale/Hi...itre-1-Plan.php
Connection: close
Content-Type: text/html; charset=iso-8859-1

Redirection permanente vers :
CITATION
URL: http://www.hist-geo.com/Cours/Terminale/Hi...itre-1-Plan.php
HTTP/1.1 200 OK
Date: Tue, 24 Feb 2004 19:37:26 GMT
Server: Apache/1.3.20 (Unix) Debian/GNU mod_fastcgi/2.2.12 mod_perl/1.25
X-Powered-By: PHP/4.3.1
Content-Type: text/html
X-Cache: MISS from www.hist-geo.com
Connection: close


Fruge
Raoulmapoule
Fruge comment t'as fait ??? il est comment ton .htacces ???

Dans mon .htacces j'ai ça :
RedirectPermanent / http://www.delta-club-82.com

Sinon dans mon php j'avais mis ca :

<?
header("HTTP/1.0 301 Moved Permanently");
header("Status: 301 Moved Permanently");
header("Location: http://www.delta-club-82.com/");
exit;
?>
Fruge
Salut Raoulmapoule,

Bin, ca ressemble a ça :
CODE
Redirect permanent /index.html http://www.hist-geo.com/index.php
ErrorDocument 404 http://www.hist-geo.com/index2.php

J'espère que ca va marcher pour toi ! Tiens nous au courant wink.gif

Fruge
Raoulmapoule
Dans l'exemple que tu donne la page de depart est une page html !
Pour une page php tu fais exactement la même chose ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.