J'ai fait quelques recherches sur la façon dont d'autres sites pourraient gérer cela et n'ont pas vraiment vu quelque chose qui m'a sauté aux yeux. Je travaille sur un projet dans lequel vous pouvez créer des pages liées à partir de toutes les autres pages. Voici où le problème se pose pour moi.Pages dynamiques et conflits d'URL non résolus
Je ne sais pas comment je devrais faire pour relier ces pages. Je n'ai vraiment pensé à deux idées, eux étant:
website.com/page/My-Page-Name
website.com/My-Page-Name
Pour noter, j'utilise mod_rewrite pour les rediriger vers un fichier qui prend le nom de page un paramètre et saisit toutes les informations pertinentes de la DB et l'affiche. C'est là qu'un problème se développe pour l'idée n ° 2.
Idée # 1 œuvres et est solide, mais je pense que c'est un peu laid et vous ne voyez pas beaucoup de sites qui pointent vers d'autres pages du site avec d'autres informations capitonné dans l'URL.
EDIT pour un peu de clarté. L'intention desdites pages doit être statique dans le sens où elles ne montreront jamais que ce que l'utilisateur leur a demandé d'afficher. Ils n'écarteront jamais aucune sorte de données, auquel cas les pages formatées comme dans cet exemple seraient plus appropriées. Je comparerais ces pages plus vers les faq de SO ou vers la page qui n'ont pas d'URL formatées de cette manière.
L'idée n ° 2 semble plus propre mais rencontre des problèmes lors de l'utilisation de mod_rewrite et de la création de ces pages.
D'autres parties du site qui sont liées peuvent être imitées et provoquer des conflits si vous avez nommé la même page. Par exemple, website.com/page1/
points à la page1 qui existe déjà, mais un conflit se poserait si quelqu'un voulait créer une page appelée page1. Donc, en mettant en œuvre cette idée, je devrais filtrer et limiter l'utilisateur dans quels noms de pages ils pourraient utiliser et en même temps cela pourrait rendre la fonctionnalité un peu inintéressante et les laisser se gratter la tête. De plus, cela semble un peu moche de le coder, d'avoir un tableau de noms de pages inacceptables et d'avoir à vérifier.
Le dernier bit traitant de mod_rewrite pour rediriger vers quelque chose comme ça: RewriteRule ^([A-Za-z0-9-]+)$ getPage.php?p=$1
devient un peu moche car il devient un peu gourmand, tout en limitant ce qu'il va sauf.
Alors, est-ce que quelqu'un a un aperçu sur d'autres méthodes possibles pour résoudre ce problème ou comment l'implémentation de l'un des deux mentionnés pourrait être différente/meilleure?
Merci.
Référez-vous à ma modification et commentez la réponse de slebetman au sujet du formatage d'URL. – anomareh
Je ne pense pas que cela change quelque chose. –
Bien en général, les URL ont tendance à être complétées uniquement lorsque le reste de l'URL contient des paramètres utilisés pour déterminer ce qui se passe sur la page. L'exemple wikipedia est assez théorique, car à peu près tous les liens sont complétés avec __wiki__, au point que vous pourriez presque le considérer comme faisant partie de l'URL de base. Pour les autres exemples, les URL sont complétées car le reste de l'URL est nécessaire pour déterminer ce qui se passe sur la page. Il n'y a aucun sens à remplir un lien vers une page de faq ou à propos de la page parce que, pour la plupart, ces pages sont statiques, ce qui est l'intention des pages que les utilisateurs pourront créer. – anomareh