Extension:UrlShortener/nl
Release status: stabiel |
|
|---|---|
| Implementatie | Speciale pagina, API, MyWiki |
| Beschrijving | Biedt een basisservice voor het verkorten van URL's. |
| Auteur(s) | YuviPandaoverleg |
| Laatste versie | Continue updates |
| MediaWiki | 1.25+ |
| PHP | 5.4+ |
| Database wijzigingen | Ja |
| Virtueel domein | virtual-urlshortener |
|
|
|
|
| Licentie | Apache Licentie 2.0 |
| Download | |
| Vertaal de UrlShortener extensie indien beschikbaar op translatewiki.net | |
| Problemen | Open taken · Rapporteer een bug |
De extensie UrlShortener zorgt voor een basisdienst voor het verkorten van een URL. Om dit goed te laten werken zijn er enkele wijzigingen in de configuratie van uw webserver nodig. Het is origineel ontworpen om het RFC URL Shortener te implementeren.
Installatie
- Download en plaats de bestanden in de map
UrlShortenerin de mapextensions/.
Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UrlShortener
- Voeg de volgende code onderaan het bestand LocalSettings.php toe:
wfLoadExtension( 'UrlShortener' );
- Voer het update script uit, dat automatisch de vereiste database-tabellen creëert die nodig zijn voor de extensie.
- Configureer naar vereiste.
- De benodigde aanpassingen.
Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.
Vagrant installatie:
- Wanneer Vagrant gebruikt wordt, installeer door middel van
vagrant roles enable urlshortener --provision
//example.com/r/foo goed te laten werken dient u de 'rewrite rules' op uw webserver in te stellen. Voorbeelden hiervan voor Apache staan in de extensie.
Configuratie
LocalSettings.php
URL routing configuratie
Configureert het te gebruiken sjabloon voor het genereren van de Korte URL.
Om dit te kunnen gebruiken is mod_rewrite (of iets dergelijks) vereist.
Indien de waarde false (standaard) is, dan zullen de korte URL's de 'not-so-short' /wiki/Special:UrlRedirector/5234 gebruiken omdat dat werkt ongeacht de webserver configuratie.
Als u korte URL's wilt in de vorm van example.com/r/5234, dat stelt u in:
$wgUrlShortenerTemplate = '/r/$1';
Korte domeinnaam
Als u een eigen korte domeinnaam heeft, dan kunt dat instellen met:
$wgUrlShortenerServer = "short.wiki";
Indien ingesteld op false (standaard), gebruikt het $wgServer.
Globale database
Voer hier de databasenaam in die u als een centrale database voor uw farm wilt gebruiken. U kunt de standaardwaarde false gebruiken zodat de normale database van de wiki wordt gebruikt.
$wgVirtualDomainsMapping['virtual-urlshortener'] = [ 'db' => '<shared-db>' ]
Willekeurige port toestaan
Standaard worden alleen de port 80 en port 443 geaccepteerd en worden die automatisch verwijderd. Als uw wiki een andere port gebruikt, stel dit dan in op true, zodat een korte URL een willekeurige port kan hebben.
$wgUrlShortenerAllowArbitraryPorts = true;
AllowedDomains reguliere expressie
Configureert de domeinen waarvoor gebruikers links voor kunnen verzenden.
Dit is een matrix met reguliere expressies.
Indien de waarde false is (de standaardwaarde), dan wordt het een lijst met toegestane domeinen voor het huidige domein (met gebruik van $wgServer).
$wgUrlShortenerAllowedDomains = false;
Voorbeeld: om een witte lijst te maken met wikipedia.org en wikimedia.org, dan zouden we kunnen gebruiken:
$wgUrlShortenerAllowedDomains = array(
'(.*\.)?wikimedia\.org',
'(.*\.)?wikipedia\.org',
);
Als we elk domein willen toestaan:
$wgUrlShortenerAllowedDomains = array( '.*' );
ApprovedDomains documentatie
Dit een matrix met toegestane domeinen in een leesbaar formaat. Het wordt weergegeven op Special:UrlShortener.
Indien de waarde false is (de standaardwaarde), dan is het de genormaliseerde versie van $wgServer.
$wgUrlShortenerApprovedDomains = false;
Als u alleen wikipedia.org en wikimedia.org toelaat in het bovenstaande voorbeeld:
$wgUrlShortenerApprovedDomains = array(
'*.wikimedia.org',
'*.wikipedia.org',
);
Shortcode karakterset
Als u de karakterset wilt aanpassen die de shortcodes gebruiken, kunt u deze instelling overschrijven. Dit moet slechts één keer tijdens de instelling worden gedaan. Zodra deze later gewijzigd wordt, gaan alle bestaande korte URL's naar de verkeerde bestemming.
$wgUrlShortenerIdSet = '23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz$';
De bovenstaande string is al vele jaren de standaard, maar kan problematisch zijn vanwege het $-teken dat door sommige sociale mediaplatforms uit URL's wordt verwijderd.
Nieuwe installaties kunnen dit configureren om $ te uitsluiten.
Het eerste teken in de lijst wordt behandeld als een voorloopnul; er worden geen shortcodes gemaakt die met dat teken beginnen en het wordt genegeerd wanneer het wordt gebruikt aan het begin van de shortcode in een URL (Voorbeeldː https://w.wiki/22222222w is hetzelfde als https://w.wiki/w).
Read-only mode
Zet $wgUrlShortenerReadOnly op true om te voorkomen dat gebruikers nieuwe korte URL's maken.
Dit is voornamelijk bedoeld als een hack tijdens het uitzetten op Wikimedia sites en zal worden verwijderd zodra het niet meer nodig is.
QR-codes
| MediaWiki-versie: | ≥ 1.41 |
Vanaf versie 1.1.0 van UrlShortener kunt u het delen van een QR-code activeren. Dit heeft twee configuratie-instellingen. Eén is gewoon QR-code delen in te schakelen. Een daarvan is simpelweg het inschakelen van de optie om QR-codes te delen.
$wgUrlShortenerEnableQrCode = true;
Merk op dat nu ook $wgUrlShortenerEnableSidebar moet worden ingesteld als u wilt dat de link QR-code downloaden in de zijbalk verschijnt.
De link waar de QR-codes naar wijzen, wordt alleen verkort als die heel lang is. Dit komt omdat gebruikers liever een vertrouwd domein zien bij het scannen van een QR-code, maar als de URL te lang is dan zal de pixeldichtheid van de QR-code te moeilijk te scannen zijn. U kunt de lengte van URL's controleren die, wanneer ze worden overschreden, eerst worden verkort voordat u een QR-code maakt. Het aantal hier verwijst naar het aantal bytes, niet naar het aantal tekens.
$wgUrlShortenerQrCodeShortenLimit = 200;
VirtualHost of .htaccess
Om echt korte URL's te hebben, moet u herschrijfregels opstellen, met gebruik van mod_rewrite of iets dergelijks.
Een voorbeeld van wat u in het bestand .htaccess moet zetten, staat bij de extensie.
Als ons sjabloon voor het instellen van /r/$1 zou zijn, dan zouden we het volgende kunnen gebruiken:
RewriteEngine On
RewriteRule ^r/(.*)$ /w/index.php?title=Special:UrlRedirector/$1 [PT]
Als u nginx gebruikt, kunt u het volgende toevoegen binnen een directive server:
location ~ ^/r/(.*) {
return 301 /w/index.php?title=Special:UrlRedirector/$1;
}
Dit gaat ervan uit dat uw $wgScriptPath op /w staat.
Alternatieve URL
Omdat het hulpmiddel uiteindelijk slechte woorden in verschillende talen zal genereren, wordt ook een alternatieve korte URL aangemaakt die begint met _ (zie T230685).
Om te voorkomen dat deze extra URL wordt getoond, kunt u de pagina MediaWiki:Urlshortener-shortened-url-alt op uw wiki blank maken.
API
Deze extensie bevat de API-module action=shortenurl om de verkorte URL voor een gegeven URL te verkrijgen, die wordt aangemaakt als die nog niet bestaat.
Zie de API documentatie.
url- De originele URL
Antwoord:
{
"shortenurl": {
"shorturl": "http://127.0.0.1:8080/s/3"
}
}
Speciale pagina's
- Special:UrlShortener - Converteer een URL naar een korte URL.
- Special:ManageShortUrls - Een korte URL verwijderen of een verwijderde URL herstellen.
- Special:UrlRedirector - Met een korte URL als parameter (bijvoorbeeld
Special:UrlRedirector/bb) wordt deze doorgestuurd naar de echte URL. - Special:QrCode - Zie hierboven.
Zie ook
| Deze extensie wordt gebruikt op een of meerdere Wikimedia projecten. Dit betekent waarschijnlijk dat de extensie stabiel is en goed werkt op dergelijke vaak bezochte websites. Zoek op de naam van deze extensie in Wikimedia's CommonSettings.php en InitialiseSettings.php om te zien waar deze is geïnstalleerd. Een volledige lijst van de extensies die geïnstalleerd zijn op een bepaalde wiki kan worden gevonden op de pagina Special:Version van de wiki. |
| Deze extensie is beschikbaar op de volgende wiki-families en/of onderdeel van de volgende pakketten: |
- Stable extensions/nl
- Special page extensions/nl
- API extensions/nl
- Personalization extensions/nl
- BeforePageDisplay extensions/nl
- LoadExtensionSchemaUpdates extensions/nl
- SidebarBeforeOutput extensions/nl
- SkinTemplateNavigation::Universal extensions/nl
- WebRequestPathInfoRouter extensions/nl
- Apache licensed extensions/nl
- Extensions in Wikimedia version control/nl
- All extensions/nl
- Extensions used on Wikimedia/nl
- Extensions included in Miraheze/nl
