Bonjour à tous
J'ai redirigé mes pages 404 vers mon fichier php se nommant /404.php.
Ceci à l'aide d'un .htaccess classique.
tout est OK jusqu'ici, ma page 404.php est bien prise en compte.
Par contre, au sein de cette page 404.php, je souhaite faire une redirection automatique vers une autre page (selon certains param...)
OR il s'avère que la redirection au niveau serveur, via script php avec Header ne fonctionne pas ! j'ai du me rabattre sur une redirection html avec 'meta'.
Je vous donne mon code entier, de mon script de mon fichier 404.php.
Pourriez vous m'affirmer ou m'infirmer si mon code est correct, et si c'est le cas, qu'il est effectivement impossible de faire une redirection php avec header( ... ) ???
Merci d'avance Very Happy
La redirection HTML fonctionne correctement (testé et retesté).
Pour tester la redirection via PHP, je retire tout le code entre Début/Fin HTML, et j'enlève le commentaire sur Header( ... ).
Résultat avec le Header(...) en php:
IE -> 404 de windows
FireFox -> page blanche.
fichier /404.php
PS modo: Je suis désolé, j'ai posté aussi dans le forum php... mais je crois que la place de mon post est mieux ici finalement.
J'ai redirigé mes pages 404 vers mon fichier php se nommant /404.php.
Ceci à l'aide d'un .htaccess classique.
tout est OK jusqu'ici, ma page 404.php est bien prise en compte.
Par contre, au sein de cette page 404.php, je souhaite faire une redirection automatique vers une autre page (selon certains param...)
OR il s'avère que la redirection au niveau serveur, via script php avec Header ne fonctionne pas ! j'ai du me rabattre sur une redirection html avec 'meta'.
Je vous donne mon code entier, de mon script de mon fichier 404.php.
Pourriez vous m'affirmer ou m'infirmer si mon code est correct, et si c'est le cas, qu'il est effectivement impossible de faire une redirection php avec header( ... ) ???
Merci d'avance Very Happy
La redirection HTML fonctionne correctement (testé et retesté).
Pour tester la redirection via PHP, je retire tout le code entre Début/Fin HTML, et j'enlève le commentaire sur Header( ... ).
Résultat avec le Header(...) en php:
IE -> 404 de windows
FireFox -> page blanche.
fichier /404.php
Code:
<?php
// Inits
$dns = $_SERVER['HTTP_HOST'];
$chemin_et_param = $_SERVER['REQUEST_URI'];
$chemin_temp = explode( '?', $chemin_et_param );
$chemin = $chemin_temp[ 0 ];
// Choix décalage
if ( $dns == 'www.xxx.fr' ) $decalage = '/xx';
if ( $dns == 'www.yyy.com' ) $decalage = '/yy';
if ( $decalage == '' ) exit();
// Redirection ou page d'accueil
if ( is_readable( '.' . $decalage . $chemin ) )
$redir = $dns . $decalage . $chemin_et_param;
else
$redir = $dns;
// header( 'Location: http://' . $redir ); // MARCHE PAS !
// DEBUT HTML
echo( '<html><head>' );
// redirection html
echo( '<meta http-equiv="refresh" content="0;url= ' );
echo( 'http://' . $redir );
echo( '">' );
// page d'attente
echo( '</head><body>' );
echo( 'Un instant s.v.p.<br>' );
echo( 'Please wait a moment<br><br><br>' );
echo( 'redirection vers: ' . $redir . '<br><br>');
//echo( 'URL demandée: ' . $chemin_et_param . '<br><br>' );
//echo( 'chemin testé: ' . $decalage . $chemin . '<br><br>' );
// remplissage pour pb IE 512 octets
echo( '
<small style="color: rgb(255, 255, 255);"><small><small><small><small><small><small><small>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill fill<br>
</small></small></small></small></small></small></small></small>
');
echo( '</body></html>' );
// FIN HTML
?>
PS modo: Je suis désolé, j'ai posté aussi dans le forum php... mais je crois que la place de mon post est mieux ici finalement.