Handleiding:Korte URL
Korte URL's of URL Rewrites verbergen de extensie van het php-bestand in het pagina-adres. Denk een paar minuten na over een stabiele URL structuur voor uw website voordat u start, het voorkomt later problemen.
Introductie
Doel
Het standaard installatie-pad ziet eruit als:
/var/www/html/mediawiki
(geïnstalleerd als gebruiker root)/home/johndoe/public_html/mediawiki
(geïnstalleerd met een gedeelde hosting provider)
Voorbeelden van het standaard pagina-adres:
https://example.org/w/index.php/Page_title
(recente versies van MediaWiki, zonder CGI ondersteuning)https://example.org/w/index.php?title=Page_title
(recente versies van MediaWiki, met CGI ondersteuning)
Met gebruik van de methodes die op deze pagina zijn beschreven, kunnen we iets als dit configureren:
https://example.org/wiki/Page_title
Dit is de meest gebruikelijke configuratie, hetzelfde als op de Wikipedia, maar niet de standaardconfiguratie vanwege de noodzaak om aan de server aanpassingen te doen.https://example.org/view/Page_title
https://wiki.example.org/view/Page_title
https://example.org/Page_title
https://wiki.example.org/Page_title
Sommige mensen raden de laatste twee configuraties niet aan. Zie Manual:Wiki in site root directory voor mogelijke problemen en oplossingen.
Voordelen en nadelen
- Voordelen: In een korte URL worden enkele technische details verborgen voor de eindgebruikers, wat aantrekkelijk kan zijn voor de eigenaren van een website. Dit kan betekenen dat ze meer stabiel zijn bij software wijzigingen. (Hierboven staat het verschil aangegeven tussen de standaard URL structuur met en zonder ingeschakelde CGI.) De leesbaarheid voor de lezer neemt toe, gemakkelijker te onthouden en te manipuleren. Korte URL's hebben daarnaast een voordeel boven de standaard URL's bij de zoekmachine optimalisatie, omdat URL's die een
?
bevatten als minder aantrekkelijk worden gezien door zoekmachines bij het bepalen van de volgorde als zoekresultaat. - Nadelen: Er is configuratie nodig, dus afhankelijk van de door u gebruikte hosting omgeving, kan het moeilijk opnieuw aan te maken zijn. Als elke veel gebruikte webserver korte URL's kan configureren, dan zou een betaalde hosting provider dit ook moeten ondersteunen. Anders wordt het tijd om een andere provider te zoeken.
Handleidingen
Onze officiële handleidingen voor de configuratie van korte URL's op verschillende webservers. Kies uw webserver configuratie uit deze lijst. Als u niet weet welke serversoftware er gebruikt wordt, het is meestal Apache.
Andere korte handleidingen
Iedereen wordt uitgenodigd om een uitlegpagina te maken en die hieronder in de lijst toe te voegen. Kies een zinnige naam voor de pagina en een die aansluit op de onderstaande namen. Als elke unieke oplossing een eigen pagina heeft, dan kunnen lezers de ongewenste complexiteit overslaan. Hou het eenvoudig, leesbaar, kort, zorg dat er per pagina maar een oplossing staat.
Om anderen te laten zien hoe Korte URL methoden echt werken, wijzig de pagina na elke uitgeprobeerde methode, verhoog de "worked" of "didn't_work" aantallen voor die handleiding en maak een korte (of lange als u dat wilt) beschrijving van wat er verkeerd gaat door het klikken op de link in uw getal.
URL als: example.com/wiki/Page_title
Root toegang
Voor deze methoden is toegang tot de serverconfiguratie vereist. Als u op een gedeelde host zit, dan heeft u dat waarschijnlijk niet. In dat geval moet u een methode gebruiken waar geen toegang tot de root nodig is. U kunt direct naar het hulpmiddel MediaWiki ShortURL Builder gaan en de instructies opvolgen. Selecteer "I don't have root access" na het invoeren van de URL van uw wiki.
- wiki/Page title -- Lighttpd rewrite--root access x3
- wiki/Page title -- Cherokee rewrite--root access x1
- IIS8.5 x2 x1
- Abyss
(voor hulp bij Apache, zie de link in de sectie Handleidingen).
URL als: example.com/Page_title
Hoe example.com/Page_title
URL's aan te maken:
- Pagina titel - nginx, Root toegang, PHP als een CGI-module x6
- Pagina titel -- Windows en Apache zonder 403 op Speciale Pagina's x3
URL als: wiki.example.com/Page_title
Hoe wiki.example.com/Page_title
URL's aan te maken:
Probleemoplossing
Ampersand (&) probleem
Het ampersand probleem is er wanneer u in de pagina-titels symbolen (als &, ?, #, + en /) heeft, welke ook al zijn ze goed gecodeerd in de link, niet goed worden doorgegeven door mod_rewrite aan het script. Dit blijkt uit het optreden van 404 pagina-niet-gevonden fouten, omdat de titel wordt afgekapt bij het speciale teken. Als de link bijvoorbeeld "John & Maria's page" is, dan krijgt u een 404 pagina, omdat MediaWiki zoekt naar een pagina "John ".
Dit is omdat de ampersand hier wordt behandeld als een query string scheidingsteken,het bereikt niet de PHP runtime environment. Dit wordt veroorzaakt door een oud en problematische mod_rewrite bug.[1]
Oplossing:
De oorzaak is het ?title=$1
deel van de rewrite rules zoals /index.php?title=$1
wat volledig onnodig en nadelig is.
MediaWiki verwerkt paden direct vanaf de REQUEST_URI, en 'rewrite' alles naar /index.php.
Cache legen
Als u merkt dat uw wijzigingen van de $wgArticlePath
in LocalSettings.php
niet doorwerken op de example.com/wiki/Main_Page
, dan kan dat komen omdat er door caching van de links nog volgens de vorige instellingen wordt gewerkt.
Ga naar example.com/wiki/Main_Page?action=purge
om te forceren dat MediaWiki de gecachte links opnieuw aanmaakt.
U kunt ook:
- in MySQL het statement "TRUNCATE objectcache;" uitvoeren, of
- zeker zijn dat
$wgCacheEpoch
bijgewerkt is (als$wgInvalidateCacheOnLocalSettingsChange
is ingeschakeld dan kunt u LocalSettings.php wijzigen door het te 'purgen')
Bezoeker van uw domein doorverwijzen naar uw wiki
Onze officiële gidsen voor de configuratie van korte URL's bevatten aanbevelingen over hoe de root van uw site hiervoor als basis kan worden ingesteld.
Voorbeeld: onze Apache handleiding beveelt aan dat zo te doen:
RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
Wij bevelen niet aan om direct een HTTP redirect naar uw wiki pad of hoofdpagina te doen. Door dit doorverwijzen naar de hoofdpagina zouden dan hard gecodeerde variabele delen van uw wiki's pagina instelling in uw serverconfiguratie komen te staan. Door het doorverwijzen naar het wiki-pad zou u ook twee doorverwijzingen krijgen. Het eenvoudig rewriten van het root-pad van MediaWiki en het zal zorg dragen voor de 301 doorverwijzing naar de hoofdpagina zelf.
Bij gebruik van VirtualHosts, zet de 'rewrite rules' in de virtuele host declaratie!
Een wiki verplaatsen van "/wiki" naar "/w"
Een veel gemaakte fout van onervaren gebruikers is om MediaWiki te installeren (de broncode, niet de Korte URL) in de map /wiki
in plaats van in de map /w
.
Dat kunt u pas na de installatie ontdekken bij het configureren van de Korte URL's (dat wordt lastig omdat dan het virtuele pad strijdig is met het echte pad).
Er is een algemene handleiding voor het verplaatsen van een wiki, maar dat is te ingewikkeld als u alleen maar de map van de installatie hoeft te wijzigen (de server, database en hostnaam blijven gelijk).
Dit is wat u dient te doen:
- Maak een back-up van
LocalSettings.php
en uw andere configuratiebestanden die u heeft aangemaakt (bijvoorbeeld uw.htaccess
). - Hernoem de map met de installatie op uw server van
/wiki
naar/w
. - Zet
$wgScriptPath
inLocalSettings.php
op"/w"
en verwijder (of zet op commentaar) alle definities van$wgArticlePath
(deze variabele wordt gewijzigd bij o.a. het instellen van Korte URL's). - Nu zou uw wiki op
example.org/w
weer normaal moeten werken. - Volg nu de handleiding voor het instellen van Korte URL's
- Test uw wiki om te zien of alles nog werkt. Bewerk een pagina, bezoek een paar pagina's, enz. Als er iets raar uitziet, draai dan de wijzigingen terug met uw back-up van
LocalSettings.php
en andere relevante bestanden die gewijzigd kunnen zijn bij de configuratie van Korte URL's en hernoem uw map terug naar/wiki
.
Bij gebruik van een gedeelde host: Veel van deze aanbieders bieden een applicatiemanager aan om automatisch applicaties als MediaWiki te installeren, te updaten en te back-uppen. Als u dit heeft en dat wil blijven doen, neem dat contact met hen op voor technische ondersteuning, geef het hen door dat u handmatig uw map met de installatie heeft gewijzigd.
Trucs
Zie ook
- Uitleg wat CGI-modules zijn
- $wgUsePathInfo - configuratie-instelling die aangeeft of er wel/niet van deze URL's gebruikt worden
- Notities over het in de rootmap zetten van uw wiki installatie
- $wgActionPaths - configuratie-instelling voor het kunnen definiëren van URL's voor andere acties, zoals bewerken of geschiedenis
- RFC Opschonen URL's - voorstel voor aanpassing van URL's voor bewerken, voorvertonen skins, enz."
Externe links
- Apache Module mod_rewrite - rewrite gewenste URL's
- MediaWiki Short URL Builder - Een hulpmiddel voor het automatisch genereren van een Korte URL configuratie.
- URL as UI van Jakob Nielsen over de belangrijkheid van de persistent en bruikbare URL's.
Referenties
- ↑ Bugzilla mod_rewrite for ampersand bug, deels na 13 jaar opgelost voor enkele gebruikers