Header: Location relatif [Résolu]

Messages postés
1466
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
23 septembre 2007
- - Dernière réponse : neigedhiver
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
2116
Date d'inscription
jeudi 16 septembre 2004
Dernière intervention
23 septembre 2018
314
3
Merci
        $host  = $_SERVER['HTTP_HOST'];
        $dir = dirname($_SERVER['PHP_SELF']);
        header("Location: http://$host$dir/../page.html");

Flachy Joe

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Flachy Joe
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
13
0
Merci
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.
Commenter la réponse de neigedhiver
Messages postés
1466
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
23 septembre 2007
1
0
Merci
Merci Flachy Joe !
neigedhiver, désolé mais je trouve ton code trop complexe.

Redman
Commenter la réponse de OneHacker
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
13
0
Merci
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é....
Commenter la réponse de neigedhiver
Messages postés
1466
Date d'inscription
jeudi 2 novembre 2000
Dernière intervention
23 septembre 2007
1
0
Merci
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
Commenter la réponse de OneHacker
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
13
0
Merci
Ouais ouais ok...
Commenter la réponse de neigedhiver

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.