2010-10-17 21 views
0

Je crée une application Web et je vérifie la présence d'un fichier de configuration pour déterminer si le script d'installation doit être exécuté ou non. Cependant, puisqu'il s'agit d'une application web, je n'ai aucune idée de l'URL à laquelle ce script sera stocké.Meta Refresh To Relative File

Est-il possible de rediriger une page, en utilisant PHP ou HTML, vers un fichier relatif?

Merci d'avance!

Répondre

2

Vous pouvez reconstruire l'URL du script en cours d'exécution en utilisant la variable 'SCRIPT_NAME' fixé par mod_php. De là, il suffit de manipuler le chemin relatif pour construire l'URL absolue du script que vous voulez rediriger.

<?php 
$scheme = $_SERVER['HTTPS'] ? 'https' : 'http'; 
$host = $_SERVER['HTTP_HOST']; 
$basedir = dirname($_SERVER['SCRIPT_NAME']); 
header("Location: {$scheme}://{$host}{$basedir}/redirect_target_page.php"); 
0

en PHP, vous pouvez utiliser header('Location: http://www.example.com/ '); mais il doit être utilisé avec l'URL complète, pas un parent, vous avez juste besoin de construire url complète de votre URL relative et l'utilisation header

+0

Non autorisé. En fait, je viens de trouver la solution, lisez dans ma réponse. – esqew

+0

vous pouvez aussi le faire côté client en utilisant javascript, mais si vous pouvez comprendre que la redirection est nécessaire côté serveur, mieux vaut le faire côté serveur – vittore

0

J'ai trouvé que je pouvais faire ceci:

header('Location: ./install.php')

+2

De nombreux (plus?) Navigateurs modernes gèrent correctement les URI relatives dans l'en-tête Location, mais c'est contre la spécification HTTP/1.1 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30) – bd808