2012-03-05 4 views
0

Mon problème est que je voudrais que mes utilisateurs aient une URL personnalisée http://mywebsite.com/username. J'ai lu sur le .htaccess file, mais je suis avec GoDaddy donc je crois que je dois faire quelque chose avec le web.config file.Comment créer une URL de profil utilisateur pour un site Web?

Le problème est que mon URL de profil utilisateur ne s'affiche pas actuellement et le code PHP qui est spécifique à un utilisateur. Il dit simplement http://mywebsite.com/profile pour chaque utilisateur (le site est toujours en mode test donc aucun des utilisateurs n'est réel en ce moment).

Comment faire pour que l'URL de réécriture fonctionne lorsque l'URL du profil n'affiche aucune information utilisateur spécifique comme user?id=3 ou autre? Et comment puis-je au moins obtenir le profil actuel pour récupérer des informations utilisateur spécifiques?

+0

Vous obtiendrez de meilleures réponses si vous marquez votre question avec la langue/technologie que vous utilisez. Votre question mentionne à la fois PHP et web.config (un concept .NET) qui prête à confusion. – Jason

Répondre

1

Personnellement, je voudrais que l'application effectue toute la logique de routage nécessaire au lieu de se fier à .htaccess. C'est ainsi que I le ferait:

Je commencerais par utiliser une classe/module/bibliothèque de routeur pré-construite. Si vous codez en PHP, utilisez quelque chose comme Alloy Router. Si vous utilisez une structure quelconque, le routage peut déjà être intégré.

L'étape suivante consisterait à créer une route de profil «attrape-tout» qui attrape toutes les routes qui n'ont pas été précédemment «interceptées». Vous pourriez avoir un tas d'autres routes telles que "website.com/about", "website.com/contact", etc, qui seront attrapées en premier, puis la route fourre-tout obtiendra tous les autres.

L'itinéraire fourre-tout acheminera votre application vers un contrôleur "profil". Ce contrôleur regarde l'itinéraire donné et vérifie si le "nom d'utilisateur" dans la route correspond à un nom d'utilisateur dans votre base de données. Si c'est le cas, créez le profil de cet utilisateur particulier. Si non, fournissez un 404.

Vous devrez vous assurer que tous les noms d'utilisateur sont uniques et qu'ils ne sont pas en conflit avec d'autres routes (par exemple un utilisateur ne peut pas avoir le nom d'utilisateur "à propos" sinon son URL sera prise par la route "à propos"). Enfin, au sein de votre application, vous devrez faire en sorte que tous vos liens soient redirigés vers les bonnes URLs. Si vous avez un bouton "profil" dans une barre de navigation supérieure, vous devez vous assurer qu'il est bien sur "website.com/username" où nom d'utilisateur est le nom d'utilisateur de l'utilisateur actuellement connecté. Tous les liens vers les profils d'autres utilisateurs seront créés dynamiquement pour accéder à l'URL correcte qui inclut leurs noms d'utilisateur.

+0

Wow, merci pour la réponse. J'ai omis de mentionner que je suis nouveau à php, donc tout ce que vous venez de dire est un peu sur ma tête. Je suppose que je devrais demander à quelqu'un de regarder mon code pour voir si ce que vous avez dit peut être fait. Merci –

Questions connexes