Aller au contenu

Questions réécriture redirection


Sujets conseillés

Je cherche à faire la chose suivant :

Une redirection d'adresse http://www.truc.fr/

sur http://127.0.0.1/index.php?domaine=truc

Mais le problème, c'est que je veux aussi faire de la réécriture d'URL genre

http://www.truc.fr/page1.html

vers

http://www.truc.fr/?index.php?page=page1

Donc, il faudrait que à la fin, j'ai :

http://www.truc.fr/?index.php?domaine=truc&page=page1

Est-ce possible ?

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

J'ai failli modifier mon message pour pas avoir la remarque :)

En utilisant 127.0.0.1, je voulais évidemment parler de l'adresse de mon serveur.

Modifié par froidure_nicolas
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

C'est "possible", mais ce n'est probablement pas le comportement que tu veux. Lorsque la deuxième partie de la RewritRule est une URL et non un chemin relatif, le moteur de réécriture procède à une redirection (301 par défaut) vers cette URL. Je dis que tu ne souhaites sûrement pas cela, parce que en redirigeant tes utilisateur vers "http://127.0.0.1/" tu les rediriges vers leur propre interface réseau.

127.0.0.1 ou localhost sont ce qu'on appelle des adresses de loopback (boucle interne) qui pointent sur linterfce réseau qui y fait appelle et donc avec cette règle tu suppose que l'utilisateur a un serveur HTTP (avec le http:// qui fonctionne sur sa propre machine...ce qui n'est certainement pas le cas.

Deuxième point, tu parles de rediriger "http://www.truc.fr/" sur une autre adresse, cela implique d'avoir le contrôle du serveur qui réponde à l'adresse "www.truc.fr"... Si c'est le cas tu peux utiliser un RedirectMatch :

RedirectMatch ^/$ http://<le_domaine_que_tu_souhaites>/index.php?domain=valeur_fixe

Et il faudra faire de même pour chaque domaine... tu ne peux pas gérer des noms de domaines à distance (depuis un autre serveur) par un fichier .htaccess ... si c'était possible je te laisse imaginer le désodre qui règnerait sur Internet...

Tu peux en revanche faire pointer tes domaines vers le même serveur (gérer cela avec des entrées DNS) et sur ce serveur t'occuper de cette tâche avec des hôtes virtuels dans la configuration Apache de ce serveur :

<VirtualHost *:80>
ServerAlias www.truc.fr
DocumentRoot /chemin/vers/la/racine/pour/ce/domaine/
</VirtualHost>

<VirtualHost *:80>
ServerAlias www.truc2.fr
DocumentRoot /chemin/vers/la/racine/pour/ce/deuxieme/domaine/
</VirtualHost>

Mais peut-être que j'ai mal compris ce que tu voulais... il me semble que tu sautes un peu du phoque à l'âne dans tes explications ;)

Lien vers le commentaire
Partager sur d’autres sites

Pour l'adresse, j'ai mis 127.0.0.1 car j'ai pas encore de serveur on-line, j'ai mis ça pour que vous compreniez qu'il s'agissait d'un serveur Web arbitrairement nommé tout comme truc.fr n'est pas un nom de domaine à moi...

Sinon, c'est à peu près ce que je veux TheRec, mais je souhaite savoir ce qui transparaît chez le visiteur. Je souhaite que les URL dans la barre d'adresse du visiteur soient toujours du type :

http://www.truc.fr/page1.html

Et que le document soit généré avec :
/>http://(IP du serveur commun :) )/index.php?site=truc&page=page1

Et donc, je n'aurai qu'un script index.php pour truc.fr et bidule.net.

Vous voyez ce que je veux dire ?

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

En fait, je veux faire ça :

<VirtualHost *:80>
ServerAlias www.truc2.fr/bidule.html
DocumentRoot /chemin/vers/la/racine/pour/ce/deuxieme/domaine/index.php?site=truc2&href=bidule
</VirtualHost>

Mais je veux que je visiteur ne voie pas ça et que seul ceci : www.truc2.fr/bidule.html

apparaisse dans sa barre d'adresse. Je veux, de plus, que cela soit valable pour tout x et y de manière à ce que www.x.fr/y.html renvoie vers index.php?site=x&href=y

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...