Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉEZ DES ALIAS DE REDIRECTION (HTTP://WWW.MONSITE.COM/MEMBRE)


Information sur la source

Catégorie :Formulaires Niveau : Débutant Date de création : 12/07/2004 Vu / téléchargé: 6 657 / 503

Note :
8 / 10 - par 6 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note

Description

Ce code va vous permettre de crée un service de redirection sur votre site de la forme : http://www.monsite.com/nom_de_redirection.

Son fonctionnement : Le code crée un nouveau dossier et y place un fichier "index.php" qui renvoie vers la page de redirection.

Compatibilité : Tous navigateurs
 

Source

  • On utilise deux fichiers, le premier est pour demander l'action, le second crée la redirection et vérfie si il exist déjà :
  • Fichier n° 1 : index.php
  • <form method="post" action="index2.php">
  • <pre>
  • Nom du dossier a crée : http://www.monsite.com/<input type="text" name="depart" size="20">
  • Adresse de votre site : http://<input type="text" name="titre" size="20"> (ex: http://moi.free.fr)</pre>
  • <input type="submit" value="ENVOYER">
  • </form>
  • <hr><a href="mailto:#">Contact</a>
  • Fichier n° 2 : index2.php
  • <?php
  • $depart = $_POST['depart'];
  • $titre = $_POST['titre'];
  • $url2='$url';$script='if ($url) {header("Location: $url");} else if($QUERY_STRING) {header("Location: ".urldecode($QUERY_STRING));} else {echo "Error bad URL 2 ";}?>';
  • if(is_dir("$depart")){
  • echo "Le nom de domaine <b><i>(http://www.monsite.com/$depart)</i></b> est déjà utilisé.";
  • }
  • else{
  • mkdir("$depart", "0777");
  • if (!$fichier=fopen("$depart/index.php","w+")){echo ("Ouverture impossible");}
  • else {
  • $text="<?$url2='http://$titre'; $script";
  • fseek($fichier,0);
  • fputs($fichier, $text);
  • fclose($fichier);}
  • echo "Félicitations, votre redirectina à été crée,<br></b>Le site <b>&#34;http://www.monsite.com/$depart&#34;</b> redirigera maintenant sur le site <b>&#34;http://$titre&#34;</b>.<br><br>Pour y aller <a href='$depart/'>Cliquez ici</a>";
  • }
  • ?>
On utilise deux fichiers, le premier est pour demander l'action, le second crée la redirection et vérfie si il exist déjà :


Fichier n° 1 : index.php

<form method="post" action="index2.php">
<pre>
Nom du dossier a crée :     http://www.monsite.com/<input type="text" name="depart" size="20">
Adresse de votre site :     http://<input type="text" name="titre" size="20"> (ex: http://moi.free.fr)</pre>
<input type="submit" value="ENVOYER">
</form>
<hr><a href="mailto:#">Contact</a>


Fichier n° 2 : index2.php

<?php
$depart = $_POST['depart'];
$titre = $_POST['titre'];

$url2='$url';$script='if ($url) {header("Location: $url");} else if($QUERY_STRING) {header("Location: ".urldecode($QUERY_STRING));} else {echo "Error bad URL 2 ";}?>';

if(is_dir("$depart")){
echo "Le nom de domaine <b><i>(http://www.monsite.com/$depart)</i></b> est déjà utilisé.";
}

else{

mkdir("$depart", "0777");
if (!$fichier=fopen("$depart/index.php","w+")){echo ("Ouverture impossible");}
    
else {

$text="<?$url2='http://$titre'; $script";

fseek($fichier,0);
fputs($fichier, $text);
fclose($fichier);}

echo "Félicitations, votre redirectina à été crée,<br></b>Le site <b>&#34;http://www.monsite.com/$depart&#34;</b> redirigera maintenant sur le site <b>&#34;http://$titre&#34;</b>.<br><br>Pour y aller <a href='$depart/'>Cliquez ici</a>";
}

?>

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de fser le 13/07/2004 02:29:19

Je trouve l'interet limité, mais pourquoi pas ...
Juste : je ne comprend pas l'interet du fopen ...

signaler à un administrateur
Commentaire de mathieumg le 13/07/2004 02:51:57

Pourquoi ne pas le faire avec les rewrite rules au pire ?

Mathieu M-G
mathieumg@qc-net.com

signaler à un administrateur
Commentaire de koko le 13/07/2004 08:36:28

ou directement les aliases de apache !

signaler à un administrateur
Commentaire de Samiby le 13/07/2004 11:14:41

Matthieumg > On peut le faire avvec les rewrite rule, mais ce n'est pas autorisé chez tous les hébergeurs.
Koko > Sur un hébergement mutualisé, on a pas accès aux aliases de Apache (enfin, je crois pas).

signaler à un administrateur
Commentaire de mathieumg le 13/07/2004 17:56:55

Okay ;)

Mathieu M-G
mathieumg@qc-net.com

signaler à un administrateur
Commentaire de quiaimeflash le 14/07/2004 23:12:36

Mon code est plutot sympa, car il fonctionne forcement sur tout les hébergeurs, je sais bien qu'on pourrait améliorer le système...

Message spéciale pour koko !!
Tu est fou !!
Mon hébergeur ne me permet pas d'avoir accès aux alias de Apache !!
Si tu fais sa sur ton apache local oui, mais pas avec les prestataires !!

signaler à un administrateur
Commentaire de juki_webmaster le 02/10/2004 18:08:12

"je sais bien qu'on pourrait améliorer le système..." biensur, biensur!
T'aurais dut penser au depart : mettre le tout sous base sql, et offrir une zone membre pour pouvoir modifier la redirection.
7/10 , malgrer cela j'aime bien un peu le principe rapide par fichier.

signaler à un administrateur
Commentaire de quiaimeflash le 02/10/2004 18:50:15

Ha non mais en faite c'est volontaire de ne pas utiliser de BDD.
J'en ai horreur... et en plus mon hébergeur ne me le permet pas.

Et pis pour la gestion, meme en fichier text on pourrai le faire, mais bon...

Mais merci quand meme.  :)

signaler à un administrateur
Commentaire de radyonne le 15/02/2005 19:10:54

bonjour !

moi jai un pb av ton script !

il me creer bien le dossier mais pas la page de redirection car les permissions sur le dossier ne le permettent pas :s

il me met une permission 410 :s

pouvez vous m'aider svp ?

signaler à un administrateur
Commentaire de quiaimeflash le 16/02/2005 16:22:56

Alors, oui, le problème c'est que la permision '410' correspond seulement à une lecture, or il faut être en mode écriture, pour cela soit tu peut changer les permissions de ton dossier avec ton client FTP, soit tu peut utiliser un script php.

Pour changer les permissions on utilise la fonction chmod(), en spécifiant le dossier et la propriété, tu peut mettre en 777, ça autoise tout, plus simple :
<?
chmod ("nom_du_dossier", 0777);
?>

Le lien vers la description de la fonction : http://fr3.php.net/manual/fr/function.chmod.php

signaler à un administrateur
Commentaire de maximev le 22/01/2006 21:00:22

Très bon script! Très utile quand on a pas accès à apache,... ou quand on veut travailler en temps réel!

signaler à un administrateur
Commentaire de tahiti2 le 01/03/2006 12:11:46

bonjour,

excellent script, mais il ne veut pas fonctionner.
1 - j'ai aussi un chmod 410 qui se crée
2- le fichier se crée mais pas la page index
3 - j'ai message erreur voir le site :
http://www.tahiti-paradise.com/allias/

merci de m'aider car vraiment j'ai une utilisation utile

signaler à un administrateur
Commentaire de tahiti2 le 01/03/2006 13:05:05

je ne suis pas fortiche en PHP, alors si je peux avoir un petit coup de main, Merci.

J'aimerais, qu'il soit possible de demander:
1 - 10 mots clés de son site
2 - une ou deux phrases décrivant sont site
3 - une redirection sur chaque mot clé vers son site (pas une redirection automatique et immédiate), il faut cliquer sur le mot clé pour etre redirigé
4 - pouvoir y inclure ma balise Google Adsense

meme s'il faut utiliser Mysql, c'est pas grave.

signaler à un administrateur
Commentaire de quiaimeflash le 02/03/2006 19:57:59

Normal que cela ne fonctionne pas : il faut que donne au script les droits d'écriture, donc minimum : 755 (ou 777 si tu veut être sur).


Pour ton deuxième message, tu peut tout a fait rajouter des champs pour tes mots cles, descriptions, ...
Ensuite, dans la deuxième conditions de "index2.php" (celle qui verifie qu'on peut crée le fichier), tu rajoute un petit bout de code qui insère tes informations dans ta base de données.

Et enfin, pour avoir comme tu souhaitais un page qui demande de cliquez, il te suffit de remplacer la variable $text.
Exemple : $text="Cliquez <a href='$titre'>ici</a>";


Voila, j'éspère avoir épondu à ta question.

signaler à un administrateur
Commentaire de tahiti2 le 02/03/2006 23:48:51

Merci,

comme je l'ai vu sur un post plus haut, j'ai mis un chmod 777 sur le fichier une fois créé par mon FTP, mais rien, et en plus c'est une fois créé.

Tu as conseillé cela:
<?
chmod ("nom_du_dossier", 0777);
?>
j'ai mis cette balise dnas la page index2.php à la ligne 20, mais rien, et de plus le nom du fichier est ignoré puisque c'est le visiteur qui va le créer??

Si tu as une page2.php complète avec la modif qui traine, je suis preneur.

Peut tu m'expliquer s'il te plait où et comment mettre alors, dans le script je pense, le 777 ?? tu mets :

mkdir("$depart", "0777");

je pense que c'est le chmod 777 qui est déjà mis, mais alors pourquoi la page ne se crée pas ? et pourquoi un 0 ?

Comment mettre donc le 777 et ou??

Merci encore pour ton aide.

signaler à un administrateur
Commentaire de quiaimeflash le 04/03/2006 08:58:34

Alors non, tuu n'a bien compris, ce que je voulait dire dans mon post : C'est la page index.php et index2.php qui doivent avoir des droits 777.
Avec ton client FTP, tu change les droits ou par un script, si tu veut :
<?
chmod("index.php", "0777");
chmod("index2.php", "0777");
?>

Pour ce qui est du script, il n'y a pas besoin de changer les droits.


Un rajoute un 0 devant les droits (777, 755, ...) pour former un octet, c'est une propriété.

signaler à un administrateur
Commentaire de tahiti2 le 04/03/2006 12:49:33

En tout cas MERCI pour tes rapides réponses.

malheureusement, 777 sur les deux pages n'ont rien amennés, pourquoi? Mystère!


Je dois laissé 755 sur index pour continuer mais index2 mets toujours une erreur de ligne 14:
Warning: fopen(avion/index.php): failed to open stream: Permission denied in /www/data.users/com/e/s/tahiti-paradise.com/www/allias/index2.php on line 14
Ouverture impossible

J'ai essayé tous les chmod possibles, mais rien, meme que dans certains cas, j'avais une page d'erreur interne 500.

Excuse moi, mais vraiment ton script m'interesse, et je voudrais qu'il fonctionne sur mon site, si tu as une autre idée ...

MERCI encore

signaler à un administrateur
Commentaire de viran le 25/04/2006 13:56:27

c'est tres bien mais stp espace ton code parce que par exemple : if($QUERY_STRING) {header("Location: ".urldecode($QUERY_STRING));}
serait plus lisible en :

if($QUERY_STRING) {
header("Location: ".urldecode($QUERY_STRING));
}

en tout cas j'ai du espacer ton code pour arriver a le lire mais sinonc c'est une bonne idee ;) 7/10

signaler à un administrateur
Commentaire de Sniperman113 le 23/09/2006 15:17:01

excellent code très efficace !
Je l'ai un peu modif pcq le formulaire me servait à rien.

Pour ceux qui voudraient effacer les dossiers crées :
unlink()
rmdir()

;)

signaler à un administrateur
Commentaire de setasan9 le 02/05/2007 01:39:51

Le code fonctionne en local mais pas en ligne, meme apres vois mis le chmod des fichier  à 777.
Comment ca ce fait ? J'en ai vraiment besoin car c'est une tres bonne alternative au redirection du type http://site.monsite.com.

Merci

signaler à un administrateur
Commentaire de setasan9 le 11/05/2007 12:10:47

Ca y est j'ai trouvé la solution.

Pour ceux a qui le dossir generé n'est pas accessible a cause du chmod, il suffit de parler en binaire :

mkdir("$depart", "111111111");

En mettant neuf 1 au lieu de 0777. Votre dossier ne sera pas en chmod 777 mais a un suffisant pour generer le dossier et son fichier correctement : 657 je crois (je ne lai plus sous les yeux).

Merci pour ce code et bonne continuation à tous !!

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.