Question

Je crée un moteur de blog en tant qu’exercice d’apprentissage et un problème particulier me laisse perplexe. Je me demande comment les articles de blog sont créés dans, disons, un moteur de blog tel que Wordpress? Je pense qu'il y a 2 façons de faire cela:

1) La création d'un nouveau post de blog appelé 'testPost' crée une nouvelle page HTML appelée www.myblog.com/testPost.html. Ainsi, pour chaque nouvelle publication de blog, vous enregistrez une nouvelle page HTML sur le serveur. Cette méthode semble inefficace. Un blog peut contenir des centaines de messages, ce qui signifie que vous devez créer des centaines de pages HTML. Je ne pense pas que je veuille utiliser cette méthode.

2) Vous avez une page de blog générique dont les données sont rendues en fonction du message auquel vous essayez d'accéder. Par exemple, si j'ai créé 'testPostOne', la page d'un article de blog générique sera remplie avec les données et l'URL de testPostOne. Si je créais 'testPostTwo', la page générique rendrait le contenu respectif de testPostTwo, etc.

.

Mais utiliser cette méthode pose ses propres problèmes. Par exemple, comment feriez-vous un lien vers une page qui n'existe pas réellement? La création de liens vers http://www.myblog.com/testPostOne.html ne fonctionnerait pas.

Ce sont les deux moyens que je pourrais trouver pour résoudre ce problème. Je ne suis pas sûr s'il y a d'autres options. N'hésitez pas à recommander un meilleur moyen de résoudre ce problème si vous en connaissez un.

En gros, je veux pouvoir disposer d'une URL bien formatée pour chaque publication de blog sans avoir à créer une nouvelle page HTML sur le serveur pour chacune d'entre elles.

MODIFIER : j'ajouterais peut-être que j'utilise ASP.NET pour ce faire, de sorte que toute méthode disponible via ce cadre serait utile

Était-ce utile?

La solution

L’idée de base serait d’utiliser une base de données. Chaque écriture serait une entrée dans la base de données, et vous récupérerez simplement les données en fonction de l'URL. Par exemple,

www.myblog.com/posts.php?postid=1 ou www.myblog.com/posts.aspx?postid=1

Vous pouvez ensuite utiliser des méthodes de réécriture d'URL pour récupérer le même message avec une URL plus propre ou, mieux encore, une méthode RESTful pour effectuer la même tâche.

Autres conseils

Voici un moteur de blog open source écrit en ASP.NET 2.0 et un écrit en PHP (il en existe beaucoup d'autres). Le mieux est de vérifier la conception et l’architecture et de disséquer comment elle fonctionne (ou quelque chose de ce genre).

Vous devez créer une page dynamique en PHP, par exemple, qui lit les données d’une base de données pour le contenu de la publication. Si vous voulez de jolies URL avec votre page, vous voudrez peut-être examiner quelque chose comme mod_rewrite pour réécrire les URL.

Si vous créez la page de manière dynamique (comme dans la suggestion 2), le http: //www.myblog .com / testPostOne.html existera lorsque vous tenterez d’y accéder, même s’il ne s’agit pas d’un fichier complet sur le disque ...

La suggestion 2 est donc probablement la meilleure solution.

Personnellement, j'utilise le mod_rewrite Apache. Alors, quand vous avez une URL comme:

http://myblog.com/archives/my_very_first_post ,

Vous pouvez créer une règle de réécriture comme celle-ci:

RewriteEngine on
RewriteRule ^archives/(.*)$ myblog.php?post=$1

Apache interprète "my_very_first_post". comme identifiant de post et le transmet à un script PHP qui gère l'identifiant. Le script extrait ensuite le message de la base de données et l'affiche.

Je pense que c'est l'approche la plus commune.

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