Header: Location relatif

Résolu
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 - 4 mai 2007 à 13:01
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 6 mai 2007 à 09:33
Y a-til un moyen pour rediriger en PHP avec un path relatif ? genre "..\photos" ?

Redman
A voir également:

6 réponses

Flachy Joe Messages postés 2101 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 7 novembre 2022 1
4 mai 2007 à 18:16
        $host  = $_SERVER['HTTP_HOST'];
        $dir = dirname($_SERVER['PHP_SELF']);
        header("Location: http://$host$dir/../page.html");

Flachy Joe
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 18
4 mai 2007 à 21:42
Salut,

C'est fou ce qu'on trouve dans la doc de php (même des explications sur les fonctions, ça m'impressionne)

On peut lire, par exemple :

Note: HTTP/1.1 demande une URI absolue comme argument de » Location:, y compris le protocole, hôte et chemin absolu. Mais certains navigateurs acceptent les URI relatives. Vous pouvez généralement utiliser les variables globales $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] et dirname() pour construire vous-même une URI absolue :

Exemple 1675. Redirection à l'aide de header()

<?php
header("Location: http://" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . $relative_url);
?>

Et c'est sur cette page : http://ch2.php.net/manual/fr/function.header.php

C'est comme mon frèrequi voulait désactiver le mode "démo" de sa chaine hi fi et qui gueulait que c'était pas possible. Ca m'a pris 15 secondes pour trouver la marche à suivre, en lisant le sommaire de la notice et en ouvrant celle-ci à la page 4.
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
5 mai 2007 à 21:00
Merci Flachy Joe !
neigedhiver, désolé mais je trouve ton code trop complexe.

Redman
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 18
5 mai 2007 à 22:18
LoL

C'est le même que celui de Flachy Joe, sauf que je t'ai indiqué la source... C'est la doc de php, désolé, j'ai rien inventé....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
6 mai 2007 à 04:47
Je dis pas que t'a inventé et c'est pas pareil que Flachy : entre "
$host  = $_SERVER['HTTP_HOST'];
        $dir = dirname($_SERVER['PHP_SELF']);
        header("Location: http://$host$dir/../page.html");" et "header("Location: http://" . $_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['PHP_SELF']), '/\\')
. "/" . $relative_url);" il y a une grosse différence !

Redman
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 18
6 mai 2007 à 09:33
Ouais ouais ok...
0
Rejoignez-nous