Question

J'ai construit une LAMPE application web permettant aux utilisateurs de créer leur propre page de profil où ils peuvent télécharger leur cv et portfolio.L'url pour une personne de profil sera quelque chose comme

http://jobbank.com/user/johndoe

John Doe enregistre le nom de domaine http://johndoefreelancer.com et il en veut au point de http://jobbank.com/user/johndoe.N'importe qui qui visite johndoefreelancer.com ne devrait pas être conscient qu'il est piloté par http://jobbank.com/user/johndoe.Cela signifie que le navigateur l'url doit constamment montrer tels que les adresses:

http://johndoefreelancer.com/aboutme (vraiment des points à jobbank.com/user/johndoe/aboutme) http://johndoefreelancer.com/portfolio (vraiment des points à jobbank.com/user/johndoe/portfolio)

En outre, en cliquant sur tous les liens [a href=""] devrait vous garder au johndoefreelancer.com au lieu de vous envoyer à jobbank.com.

Ma question est, quelle est la meilleure façon d'atteindre cet objectif?

Je suis en train d'étudier:1) Donner des instructions aux utilisateurs pour le domaine de l'avant avec du ruban

2) demander aux utilisateurs de fillout le champ $homeUrl dans leurs informations de Profil d'Utilisateur, qui est enregistré dans la base de données

3) Dans mon code PHP, si $homeUrl existe, remplacer tous les [a href="$_SERVER['HTTP_HOST']"] avec [a href="$homeUrl"]

Est-ce la bonne solution?Est-il un meilleur moyen?

Était-ce utile?

La solution

Une autre approche serait de dire à vos utilisateurs de pointer leurs domaines à votre IP et les configurer comme hôtes virtuels basés sur le nom. Les avantages sont les suivants:

  1. Il est beaucoup plus facile pour l'utilisateur de mettre en place puis en avant avec masquage (ce dernier peut ne pas être même possible selon le bureau d'enregistrement)
  2. Vous ne devez pas traiter de réécriture d'URL dans votre code PHP.

Ce serait plus facile à installer si vous ne devez pas utiliser le préfixe de /user/johndoe pour vos URL (que vous n'avez pas vraiment besoin parce que vous pouvez faire une recherche de domaine dans votre code pour déterminer l'ID utilisateur), mais il est possible le préfixe ainsi -. il est juste que la configuration de mod_rewrite devrait être plus impliqué dans ce cas (vous aurez besoin de le faire par domaine)

Autres conseils

La seule façon que je pouvais penser pour le moment:

  1. ajouter un champ dans le Profil des utilisateurs pour un nom de domaine

  2. dites aux utilisateurs de laisser pointer le DNS de l'hôte de l'entrée à votre IP (ou le principal domainname de vous)

  3. créer un hôte virtuel qui est le PREMIER de tous les vhosts que vous pourriez avoir.(*)

  4. dans cet hôte virtuel créer un index.php script qui regarde la demande de nom de domaine dans le profil de l'utilisateur et l'affichage de la page.

Vous pourriez avoir besoin pour mettre en œuvre un commutateur pour les url que vous avez l'impression sur la page.par exemple.si vous êtes venu sur les page d'index utilisez / comme base "href", dans tous les autres cas /utilisateur/nom d'utilisateur est "de base href"

*) Si apache reçoit une demande pour un nom, il ne sais pas (parce que sa ne ServerName|Alias d'un serveur virtuel, il utilise le premier serveur Virtuel comme solution de repli.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top