Redirection sous-domaines et variable

Eléphant du PHP | 130 Messages

26 juil. 2005, 23:17

Bonsoir à tous !

Voilà, j'essaie de faire fonctionner des redirections de sous-domaines et ça ne marche pas. :(

En fait, je souhaite créer une redirection de ce genre :

http://xxx.monsite.com vers http://www.monsite.com/index.php?var=xxx

J'ai trouvé ce petit code à placer dans le fichier httpd.conf :

Code : Tout sélectionner

<VirtualHost XXX.XXX.XXX.XXX> ServerAdmin webmaster_AT_domaine.net DocumentRoot /home/domaine/www ServerName www.domaine.net ServerAlias domaine.net *.domaine.net VirtualDocumentRoot /home/domaine/%1 UseCanonicalName off CustomLog /home/domaine/logs/access_logs combined ScriptAlias /cgi-bin/ /home/domaine/cgi-bin/ User domaine Group hosting </virtualHost>
Donc je le modifie à mon serveur dédié mais aucune redirection ne se créer. J'ai remarqué que dans le fichier httpd.conf, il y a déjà un code de ce genre mais pour rediriger vers un dossier et non une variable PHP.

J'espère avoir été clair ???

Merci beaucoup de votre aide !!!! Vous êtes géniaux !!!! :D


edit mere-teresa : la configuration de ton serveur est plus vaste qu'un simple script PHP, aussi je déplace ton sujet dans le forum "Autre"

Eléphant du PHP | 138 Messages

27 juil. 2005, 00:55

je pense que tu as une solution plus simple qui serait de mettre sur ta page index.php le code suivant, en tout début de page:
<?php
if ( !isset($_GET['var']) && $_GET['var'] =='' ){
header("location: http://www.monsite.com/index.php?var=xxx");
}
?>
Comme ça tu n'as pas besoin de modifier ton httpd.conf
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Invité
Invité n'ayant pas de compte PHPfrance

27 juil. 2005, 09:19

ton code est plutot bizarre ...
<?php
// Vérifie que $_GET['var'] n'existe pas et qu'elle soit vide.
// Si la variable n'existe pas, pourquoi elle serait vide puisqu'elle
// n'existe pas ! Merci PHP d'être aussi bien codé.
// === est plus rapide que ==
if ( !isset($_GET['var']) && $_GET['var'] =='' ){
// Redirection
// Les simple quotes sont plus rapides :)
header("location: http://www.monsite.com/index.php?var=xxx");
}
?>
je te proposerais plutot :
<?php
// Initialise la variable pour la condition
$var = isset( $_GET[ 'var' ] ) ? $_GET[ 'var' ] : '';
// Condition
if ( !empty( $var ) )
    // Redirection
    header( 'location: http://www.monsite.com/index.php?var=' . htmlentities( $var ) );
?>
voila. mais je confirme ce qu'à dit axel, cela serait plus simple en PHP...

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 juil. 2005, 10:09

Voilà, j'essaie de faire fonctionner des redirections de sous-domaines et ça ne marche pas. :(

En fait, je souhaite créer une redirection de ce genre :

http://xxx.monsite.com vers http://www.monsite.com/index.php?var=xxx
Pour cela fait une recherche sur l'URL Rewriting et le .htaccess !
J'ai trouvé ce petit code à placer dans le fichier httpd.conf :

Code : Tout sélectionner

<VirtualHost XXX.XXX.XXX.XXX> DocumentRoot /home/domaine/www ServerName www.domaine.net ServerAlias domaine.net *.domaine.net </virtualHost>
Donc je le modifie à mon serveur dédié mais aucune redirection ne se créer. J'ai remarqué que dans le fichier httpd.conf, il y a déjà un code de ce genre mais pour rediriger vers un dossier et non une variable PHP.
ça c'est pour créer des sous-domaines et des domaines virtuels sur le serveur, effectivement.
Pour que http://soleil.tonserveur.com renvoie à http://www.tonserveur.com/soleil

Merci beaucoup de votre aide !!!! Vous êtes géniaux !!!!
La flatterie ne marchera pas, jeune homme !

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

27 juil. 2005, 11:41

Merci beaucoup de votre aide !!!! Vous êtes géniaux !!!! :D
Je t'en prie, tu peux me tutoyer... :langue:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 juil. 2005, 12:07

Merci beaucoup de votre aide !!!! Vous êtes géniaux !!!! :D
Je t'en prie, tu peux me tutoyer... :langue:
C'est rapport à ta skyzophrénie :langue:
Il tutoie chacun de tes toi donc vous :lol:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

27 juil. 2005, 19:59

Bien vu, Zeus ! ;)

Eléphant du PHP | 130 Messages

28 juil. 2005, 02:28

Merci de vos réponses mais ce n'est pas vraiment ce que je demande, en fait si je tape dans mon naviguateur :

http://xxx.monsite.com

Qu'il me renvoi à :

http://www.monsite.com/index.php?var=xxx


Et dans les recherches que j'ai effectué, ils disent de modifié le fichier httpd.conf avec le code du début. Mais je comprend pas trop ce code et il ne fonctionne pas.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

28 juil. 2005, 09:42

Merci de vos réponses mais ce n'est pas vraiment ce que je demande, en fait si je tape dans mon naviguateur :
http://xxx.monsite.com
Qu'il me renvoi à :
http://www.monsite.com/index.php?var=xxx
Qu'il t'y renvoie en laissant l'adresse tapée ou pas ?

Eléphant du PHP | 130 Messages

28 juil. 2005, 15:38

Si possible oui

Eléphant du PHP | 130 Messages

29 juil. 2005, 13:22

Pas de solution ???

ViPHP
pjl
ViPHP | 2119 Messages

29 juil. 2005, 14:12

header("Location: www.monsite.com/index.php?var=xxx ");
Ca n'irait pas ?

Eléphant du PHP | 130 Messages

29 juil. 2005, 14:14

Bon j'ai enfin trouvé, la redirection marche impeccablement, le seul truc c'est que l'url ne tiens pas dans la barre d'adresse, qu'il reste seulement http://xxx.monsite.com que http://www.monsite.com/?var=xxx

On m'as parlé de la fonction RedirectPermanent, mais je ne comprend pas vraiment son utilisation, enfin la façon de l'utilisé plutôt.

Dois-je procédé par un .htaccess ou puis-je le faire directement depuis le httpd.conf ???

Invité
Invité n'ayant pas de compte PHPfrance

29 juil. 2005, 15:51

Bon encore une fois j'ai trouvé mais là ou ça se corse c'est affiché des images !!!

Dans un code PHP je redimenssione les images selon la largeur, mon url est du type "../dossier/", comme l'adresse est http://xxx.monsite.com, rien ne s'affiche !!!