Header: Location relatif [Résolu]

Signaler
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
-
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
-
Y a-til un moyen pour rediriger en PHP avec un path relatif ? genre "..\photos" ?

Redman

6 réponses

Messages postés
2083
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2020
1
        $host  = $_SERVER['HTTP_HOST'];
        $dir = dirname($_SERVER['PHP_SELF']);
        header("Location: http://$host$dir/../page.html");

Flachy Joe
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
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.
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
Merci Flachy Joe !
neigedhiver, désolé mais je trouve ton code trop complexe.

Redman
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
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é....
Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
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
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Ouais ouais ok...