Masquer l'extension et les paramètres d'une URL dynamique

Nouveau WRInaute
Je dois créer un mini-site avec des pages personnalisées pour chaque client, qui doivent pouvoir directement accéder à la page d'accueil de leur espace via une URL du type :

http://www.monsite.fr/jeandupont

La raison de cette contrainte est que le site Web s'inscrit dans une campagne multicanal. Un coupon est envoyé par courrier postal, contenant l'adresse ci-dessus. Tel que le projet est conçu, je dois donc réécrire une URL du type :

http://www.monsite.fr/index.php?prenom=jean&nom=dupont

J'ai entrevu qu'on pouvait utiliser la négociation de contenu fournie par Apache, afin de masquer l'extension. (Sur ce point, d'ailleurs, je suis preneur d'explications.)

Le souci est que je ne trouve pas de moyen, d'une part, de masquer les paramètres (?prenom=jean&nom=dupont) et, d'autre part, de remplacer le nom du fichier (index) par une concaténation du nom et du prénom (jeandupont).

On pourrait envisager de créer dynamiquement plusieurs milliers de fichiers (du type jeandupont.php). Ils seraient placés dans la racine du site.

On pourrait également envisager de créer dynamiquement plusieurs milliers de dossiers (du type www.monsite.fr/jeandupont=). Chacun contiendrait un raccourci vers index.php, contenant les variables qu'on veut passer dans l'URL, de façon à rediriger l'utilisateur saisissant seulement son nom et son prénom dans l'URL.

Dans les deux cas, cela nécessite beaucoup d'espace sur le serveur... Quelqu'un connaîtrait-il une solution plus optimale ? D'avance merci.
 
WRInaute impliqué
Dans ton .htaccess

Code:
RewriteEngine on
RewriteRule ^(.*)-(.*).html$ index.php?prenom=$1&nom=$2 [L]

Comme tu peux le constater, ça necessite de séparer nom et prénom par un séparateur reconnaissable, ici le tiret.

Ensuite, tu peux utiliser directement l'adresse -http://www.monsite.fr/bobby-lapointe et ton serveur, lui, utilisera la page index.php?prenom=bobby&nom=lapointe sans que personne ne s'en aperçoive.

Il ne te restera plus qu'à créer tous les liens correspondant sur ton site.

:wink:
 
Nouveau WRInaute
J'utiliserais peut-être autre chose que le tiret pour la séparation.
Si c'est généré automatiquement et que le prénom est composé, ça va pas le faire.
Par exemple: http://www.monsite.fr/jean-claude-dupont
Il interpretera "claude" comme étant le nom.

Attention également aux espaces dans l'url.

J'espère également que l'espace personnelle ne doit pas être sécurisé.
 
WRInaute impliqué
Re: Masquer l'extension et les paramètres d'une URL dynamiqu

un hapax a dit:
d'autre part, de remplacer le nom du fichier (index) par une concaténation du nom et du prénom (jeandupont).

On pourrait envisager de créer dynamiquement plusieurs milliers de fichiers (du type jeandupont.php). Ils seraient placés dans la racine du site.

On pourrait également envisager de créer dynamiquement plusieurs milliers de dossiers (du type www.monsite.fr/jeandupont=). Chacun contiendrait un raccourci vers index.php, contenant les variables qu'on veut passer dans l'URL, de façon à rediriger l'utilisateur saisissant seulement son nom et son prénom dans l'URL.

SURTOUT PAS ! ! 8O
Tu n'as pas besoin d'avoir des pages personnalisées. Tu construira toutes les pages dynamiquement (mais virtuellement, cad non présentes sur le disque).
Ainsi si tu décide de changer une fonctionnalité commune à tous, tu ne sera pas obligé de te taper tous les fichiers de tes clients.
Pour moi le mieux c'est que la première fois que le client arrive sur sa page tu lui créé son espace en bdd et après c'est uniquement cet espace que tu modifie (comme un site dynamique quoi). Modifier des milliers de fichiers c'est vraiment galère à faire et en plus c'est un peu le boxon sur les disques durs. Il faut mieux bosser avec les bdd.
 
Discussions similaires
Haut