8791 sujets

Développement web côté serveur, CMS

Bonsoir,

Je suis débutant en php et je bosse sous wamp.
je cherche à faire un fichier index.php qui redirige vers un fichier intro.html.

Ce dernier pouvant fonctionner aussi bien sur un serveur local que sur un serveur hébergé.

voici mon code en local qui marche :


Code :Sélectionner tout - Visualiser dans une fenêtre à part12345
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://localhost/MyProject/intro.html");
?>
cela ne marchera pas sur le serveur hébergé...

merci de votre aide

cordialement
Salut,

C'est très simple : il te suffit de remplacer localhost/MyProject/ par le domaine pointant vers ton site (par exemple, myproject.com).
Bonjour,

merci pour cette réponse.

Je souhaiterais que ceci se fasse de manière automatique, c'est-à-dire en utilisant le même fichier en local et sur le serveur hébergé.

Autrement dit, il faudrait introduire un test dans le code.
Et ça, je ne sais pas le faire..

merci

cordialement
Modérateur
Bonjour,

Je ne suis pas familié avec PHP et je ne l'ai pas sous la main pour te donner une solution précise, mais une piste serait de regarder ce que te retourne la variable suivante en localhost et une fois sur le serveur :

echo $_SERVER['SERVER_NAME'];
Modérateur
oui c'est bien une, ou parfois plusieurs de ces variables qu'il faut utiliser. Cependant pas de echo. Pour les trouver, rien de tel qu'un print_r($_SERVER). Des deux côtés ^^

ensuite, un exemple qui peut fonctionner:

header('location:http://'.$_SERVER['name'].'/qqch/maRessource.truc');


à vérifier bien sûr à l'aide de l'ami print_r
Modifié par kustolovic (08 Mar 2012 - 18:04)
Bonsoir,

La discussion comme à être vraiment intéressante et
je vous remercie tous de votre participation Smiley biggrin

bon, en fait je souhaiterais quelque chose du genre :

<If "%{HTTP_HOST} == 'localhost'">
    # Ma configuration locale
</If>
<Else>
    # Ma configuration "distante"
</Else>



à comparer à un fichier .htaccess, du style :

RewriteCond %{HTTP_HOST} ^www.votre_site.fr$
RewriteRule ^([a-zA-Z0-9-]*)\.html$ /index.php?page=$1 [L]

RewriteCond %{HTTP_HOST} ^127.0.0.1$
RewriteRule ^([a-zA-Z0-9-]*)\.html$ /mon_site/index.php?page=$1 [L]


et à la solution de kustolovic:

header('location:http://'.$_SERVER['name'].'/qqch/maRessource.truc');




Quels sont les avantages et les inconvénients d'utiliser l'une ou l'autre de ces méthodes ?



merci

cordialement