pagina's labelen ... sessievariabelen of veel statische pagina's?

ik heb een website die veel nieuwsartikelen bevat. IN de database heeft elk artikel zogenaamde "tags" die de gebruiker naast het artikel ziet verschijnen. Wanneer de gebruiker op de tag klikt, worden deze doorgestuurd naar een lijst met andere artikelen die ook deze tag bevatten.

Moet ik een afzonderlijke HTML-pagina genereren voor elke nieuw gemaakte tag, of moet ik één pagina maken en de inhoud variëren op basis van de tag waarop de gebruiker klikte met behulp van sessievariabelen ????

uiteraard zullen de pagina's niet volledig statisch zijn, omdat ik ze telkens zal bijwerken wanneer een nieuw artikel met een overeenkomende tag wordt geüpload

0
Ik kan concluderen dat beide methoden kunnen werken ... Ik wil weten welke eenvoudiger is ...
toegevoegd de auteur Timtam, de bron

3 antwoord

Gebruik zeker geen sessiegegevens. Dat is voor gegevens die moeten blijven bestaan, maar die per gebruiker is ingesteld. Als u deze functie gebruikt voor per-aanvraaggegevens, wordt de bladwijzer gewoon onderbroken en worden raceomstandigheden geïntroduceerd.

Voor elke tag moet u een duidelijke URI hebben. Het maakt niet uit (vanuit het perspectief van de eindgebruiker) als u dynamisch gegenereerde inhoud gebruikt (via een querystring of door de URI te parseren in uw server-side-code (de meeste frameworks, bijvoorbeeld Dancer , zal dit voor u afhandelen)) of als u gegenereerde statische pagina's gebruikt.

Statische pagina's maken het gemakkelijker om met caching om te gaan en betere prestaties te leveren op systemen met veel verkeer, maar hebben de neiging om grote delen van de site opnieuw te moeten opbouwen als de inhoud verandert. U kunt vergelijkbare prestatieverbeteringen krijgen door cache op de server te gebruiken (bijvoorbeeld via memcached ).

Dynamische pagina's zijn meestal eenvoudiger te implementeren.

1
toegevoegd
U hebt een tabel met tags in uw database en een veel-op-veel-bridgingtabel die tags toewijst aan artikelen. Loop dan gewoon over de tags en genereer een pagina voor elk gebruik van de lijst met artikelen die je krijgt door lid te worden via de bridge (gesorteerd in de volgorde die je wilt). Als u met statische bestanden werkt, voert u deze uit naar een bestand aan elkaar. Als u dynamisch werkt, genereert u gewoon wanneer een tagindexpagina wordt aangevraagd (en 404 als de tag niet in de database staat).
toegevoegd de auteur Quentin, de bron
Als alternatief ... gebruik een bestaande CMS die tags implementeert in plaats van zelf een CMS te bouwen.
toegevoegd de auteur Quentin, de bron
dit betekent dat ik elke keer dat een nieuwe tag wordt geïntroduceerd automatisch een nieuwe html-pagina moet genereren ... ik weet niet zeker hoe ik dat moet doen ... tips?
toegevoegd de auteur Timtam, de bron
ah ... bedankt! s
toegevoegd de auteur Timtam, de bron
het is een beetje te laat voor dat ... een beetje wou dat ik WordPress of iets had gebruikt ... maar ik heb in feite alles vanaf het begin opgebouwd, dus ik ga nu niet schakelen ...
toegevoegd de auteur Timtam, de bron

Ik raad u aan een listingpagina te maken met een titel en een kleine beschrijving van alle artikelen die een bepaalde tag bevatten vergelijkbaar met WordPress.

Dit is bijvoorbeeld de lijst met pagina's voor de tag jQuery :

0
toegevoegd
@Timtam: Ja, je zou in één keer een listingpagina moeten maken, het zal een stuk eenvoudiger en zonder veel overhead zijn :)
toegevoegd de auteur Sarfraz, de bron
dit is een goed idee ... ik maak me alleen zorgen over het maken van deze tagpagina's omdat ik een zeer groot aantal tags zal hebben ...
toegevoegd de auteur Timtam, de bron

Ik zou één pagina maken en de URL vervolgens herschrijven zodat er naar de tagpagina wordt verwezen, dus iets als dit

Tag element == New

tagpage.aspx 

http://www.yourwebsite.com/New.aspx

Hiermee kunt u één pagina hebben om de inhoud bij te werken, maar kan elke pagina worden geïndexeerd door Google.com.

Ik weet niet zeker welke taal je gebruikt, maar ik zou URL-rewriting opzoeken

here's a link for rewriting in apache: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

here's a link for rewriting in asp.net: http://msdn.microsoft.com/en-us/library/ms972974.aspx

0
toegevoegd
@Timtam ja, maar ik heb er geen ervaring mee, dus je zou wat onderzoek moeten doen hier is een snelle link naar een pagina over het gebruik van .htaccess om je URL te herschrijven op basis van regex, enz. corz.org/serv/tricks/htaccess2.php
toegevoegd de auteur CBRRacer, de bron
kan je dit doen in php?
toegevoegd de auteur Timtam, de bron