2012-05-23 4 views
0

Je comprends qu'il peut y avoir d'autres questions concernant les url de vanité, mais tout le monde que je vois a un code différent que je suppose que fait le même travail. Pour cette raison, je ne comprends pas quelles règles sont les meilleures pour ma question personnelle, cela étant dit ici est ma question.Vanity URLS & Xampp

Je veux simplement créer cela,

127.0.0.1/website/profile.php?id=1

Pour cela,

127.0.0.1/website/profile/Admin

Mes questions sont également sous,

  1. Je comprends le fichier .htaccess doit être dans le répertoire racine, mais est En utilisant php devrais-je faire la conversion entre l'identifiant et le nom d'utilisateur de l'URL sur une page séparée? fichier puis rediriger vers la page de l'utilisateur demandé?

Merci d'avoir lu, je n'arrive pas à comprendre .htaccess!

+0

Le meilleur code pour votre cas est celui qui fonctionne. Aucune des solutions n'a-t-elle fonctionné pour vous? – JJJ

+0

Non je n'ai pas peur, aussi parce que je veux convertir le nom d'utilisateur en ID puis afficher la page, parce que mon profil.php accepte seulement un ID dans le $ _GET (profile.php? Id = 1) Im pas sûr que je devrais rediriger le .htaccess à un petit fichier qui le convertira pour moi puis redirigera vers le bon profil ou autre chose? – Harry

+0

C'est ainsi que cela fonctionnera sous le capot dans la plupart (toutes?) Des solutions. L'utilisateur peut accéder à 'profile/Username' et le script fonctionnera exactement comme s'il avait accédé' profile.php? Id = X'. – JJJ

Répondre

1
  1. Répertoire racine de votre site Web.
  2. Pas besoin de redirections. La façon dont cela fonctionne est que vous pouvez mapper chaque section de votre URL à un paramètre d'URL. Par exemple, http://localhost/profile/Admin est réellement interprété comme http://localhost/website/profile.php?username=Admin. Seuls les utilisateurs verront l'URL personnalisée PHP verra toujours les paramètres d'URL. Dans votre cas, la règle .htaccess ressemblera à ^profile/([0-9]+)$ profile.php?username=$1 (je ne sais évidemment pas avec certitude puisque je ne connais pas l'architecture de votre site).

D'un côté note que vous trouverez peut-être des hôtes virtuels intéressant. C'est une façon de pouvoir créer votre propre domaine local pour votre site, par exemple http://my-local-website au lieu d'utiliser http://localhost/website ou en attente de test en production.

Plus d'infos ici: http://sawmac.com/xampp/virtualhosts/

+0

Bonne info! Je vous remercie. J'ai actuellement mon profile.php mis en place pour accepter seulement un ID, profile.php? Id = 1 plutôt que profile.php? Username = Admin.Souhaitez-vous suggérer que je change tout mon code pour travailler autour de vanity-urls ou dois-je créer un autre fichier qui va convertir le nom d'utilisateur en ID, puis rediriger vers le profil.php? Id = 1. par exemple, profile/admin -> func.convert.php? username = admin -> attrape l'identifiant de l'administrateur et redirige vers profile.php? id = 1 – Harry

+0

Si vous redirigez l'utilisateur, vous seriez presque en train de vaincre le but de l'URL de vanité. Changez 'id' en' usernamme' (qui devrait aussi être unique), ou utilisez simplement id * à la place * du nom d'utilisateur, comme 'htttp: // localhost/website/profile/1'. –

+0

Ah ok je ne savais pas que ça irait réellement au lien brut redirigé, je vois où je me trompais maintenant, je vais devoir le coder en dur dans profile.php afin qu'il accepte les noms d'utilisateur, Merci Ayman! – Harry