Aangepaste URL’s gebruiken

Bij een installatie van SPIP gebruiken de pagina’s adressen die overeen komen met spip.php?article765, wat dus een URL geeft in de vorm http://www.spip.net/spip.php?article765.

Maar je kunt dit gedrag naar wens aanpassen — bijvoorbeeld article123.html of Titel-van-het-artikel.html, en SPIP kan je daar gedeeltelijk bij helpen.

Deze functionaliteit maakt gebruik van het onderscheid tussen deze twee types URL’s:

-  de getoonde URL van een pagina, dat wil zeggen degene die wordt ingevoerd of weergegeven in de adresbalk van de browser. Bijvoorbeeld http://www.spip.net/fr_article765.html. Het zijn dit soort URL’s die we graag «mooier» of «betekenisvoller» willen maken;

-  de werkelijke URL van een pagina, ofwel de URL die door SPIP wordt «gezien» wanneer de pagina op de server wordt berekend. Bijvoorbeeld http://www.spip.net/spip.php?article765; in het algemeen kan deze URL ook worden ingevoerd in de browser (je mag het controleren).

De getoonde URL kiezen

Vanaf SPIP 2.1 maak je die keuze via de interface van het privé gedeelte. Je gaat naar de geavanceerde instellingen in de configuratie en kiest daar de gewenste URL.

Vóór SPIP 2.1 moet je onderstaande procedure volgen.

In het bestand config/mes_options.php kun je een variabele met het type URL definiëren. Bestaat deze niet, dan gebruikt SPIP:

$type_urls = "page";

Deze variabele $type_urls bepaalt de naam van het PHP-bestand dat wordt aangeroepen om de URL’s te beheren. Met de standaardinstelling is dit het eerstgevonden bestand urls/page.php in SPIP_PATH.

Je zult zien dat SPIP ook de volgende bestanden aanbiedt: urls/standard.php, urls/html.php, urls/propres.php, urls/propres-qs.php en urls/propres2.php in map ecrire/

-  Het bestand urls/html.php verwerkt adressen in de vorm «article123.html». Je kunt ervoor kiezen deze «HTML-URL’s» te gebruiken door in config/mes_options.php een regel op te nemen met:
$type_urls = "html";

-  Het bestand urls/propres.php verwerkt adressen in de vorm de «Titel-van-het-artikel»). Je voegt deze regel toe:
$type_urls = "propres";

-  Het bestand urls/propres2.php is een variant van de vorige en werkt met adressen in de vorm «Titel-van-het-artikel.html». Je voegt toe:
$type_urls = "propres2";

-  Het bestand urls/propres-qs.php is een variant die adressen geeft van het type («./?Titel-van-het-artikel»). Je stelt hem in met:
$type_urls = "propres-qs";. Je kunt deze variant gebruiken wanneer je van je hosting provider de Apache de module voor het herschrijven van URL’s niet mag gebruiken (vgl. mod_rewrite)

-  Tenslotte biedt het bestand urls/standard.php aan nostalgische SPIP-gebruikers de mogelijkheid de oude adressen van SPIP toe te passen: «article.php3?id_article=765». Je voegt toe:
$type_urls = "standard";

Wil je zelf een ander type adressen gebruiken (en kun je programmeren in PHP), dan raden we aan uit te gaan van één van de standaardbestanden en deze te kopiëren als: urls/XXX.php, waarin XXX jouw benaming voor het adrestype is. Het is bijvoorbeeld relatief eenvoudig om de functie _generer_url_propre() in urls/propres.php te wijzigen om interessante variaties te krijgen, die je vervolgens weer kunt delen met andere SPIP-gebruikers op de site SPIP Contrib’.

De vertaling van adressen programmeren

Om ervoor te zorgen dat article123.html daadwerkelijk het PHP-bestand spip.php met als parameter id_article=123 aanroept, moet de webserver van jouw site worden geconfigureerd in het bestand .htaccess (wat niet altijd toegelaten is), ofwel in het centrale configuratiebestand van de server (las je daar toegang toe hebt). Bij een utilise Apache server (het meest gebruikelijke) gaat het om de Rewrite Rules : de regels voor het herschrijven van webadressen.

Deze regels kunnen schrijven is weggelegd voor programmeurs en is sterk afhankelijk van de configuratie van de server. Wij kunnen hier dan ook niets over zeggen en laten dit aan jezelf (of aan je provider) over.

Bij de installatie van SPIP wordt een bestand htaccess.txt als voorbeeld meegeleverd. De inhoud van dit bestand werkt bij de meeste providers en met de hierboven aangegeven URL-types («standard», «html», «propres» en «propres2»). Om dit bestand te activeren, kopieer je het naar de root van je site als .htaccess. We raden je sterk aan het eerst te openen en te bekijken om enkele aspecten van de configuratie te controleren.

Vervolgens test je of de aangepaste URL’s ook werken, door vanuit het privé gedeelte bij een artikel op «Online bekijken» te klikken. Maar het mag ook bij een auteur, een nieuwsbericht, een rubriek, enz. Doe dit terwijl je je FTP-client nog steeds actie hebt, zodat je in het geval van een probleem het .htaccess bestand kunt hernoemen of verwijderen.

De aangepaste URL’s op SPIP pagina’s genereren

Om de URL’s van het gekozen type overal weer te geven, gebruik je in je skeletten de bakens #URL_ARTICLE, #URL_RUBRIQUE, #URL_BREVE, enz.

Overschakelen naar een ander type URL

In SPIP is alles voorzien om van het ene op het andere moment van type URL te veranderen: installeer het bestand htaccess.txt (zoals hierboven omschreven) en je kunt vervolgens alle types uitproberen van «standard» naar «propres2», «propres» of «html» en omgekeerd, zonder ook maar ooit een 404-fout te krijgen bij bezoekers (of zoeksites) die nog het oude adrestype kennen.

Een laatste detail voor een soepele overgang. Kies je voor «propres» of «propres2», dan worden pagina’s met het oude adres (standard of html) automatisch naar het nieuwe adres doorverwezen.

Auteur Hanjo Gepubliceerd op: Aangepast: 02/07/23

Vertalingen: عربي, català, English, Español, français, italiano, Nederlands, slovenčina, українська