Extension:UrlShortener/nl
![]() Release status: stabiel |
|
---|---|
![]() |
|
Implementatie | Speciale pagina , API , MyWiki |
Beschrijving | Provides a basic URL shortening service |
Auteur(s) | YuviPandaoverleg |
Laatste versie | Continuous updates |
MediaWiki | 1.25+ |
PHP | 5.4+ |
Database wijzigingen | Ja |
Tabellen | urlshortcodes |
Licentie | Apache Licentie 2.0 |
Download | |
|
|
Downloads kwartaal | 56 (Ranked 121st) |
Publieke wiki's die het gebruiken | 872 (Ranked 272nd) |
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
UrlShortener
in de mapextensions/
. - Voeg de volgende code onderaan aan 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.
- Als verplicht configureren.
- 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
//wiki.ext/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 domain.org/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.
$wgUrlShortenerDBName = false;
Als de database op een extern cluster staat, dan moet u dat ook instellen.
$wgUrlShortenerDBCluster = false;
- 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;
If you only allow wikipedia.org and wikimedia.org in the above example:
$wgUrlShortenerApprovedDomains = array(
'*.wikimedia.org',
'*.wikipedia.org',
);
- Shortcode character set
If you want to customize the character set the shortcodes use, you can override this setting. This should be done only once during the setup. Once changed thereafter, any existing short URLs will go to the wrong destination.
$wgUrlShortenerIdSet = '23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz$';
The first character in the list is treated as a leading zero; no shortcodes beginning with that character will be created, and it is ignored when used at the start of the shortcode in a URL (e.g. https://w.wiki/22222222w is the same as https://w.wiki/w).
- Read-only mode
Set $wgUrlShortenerReadOnly to true to prevent users from creating new short URLs. This is mainly intended as a hack while deploying to Wikimedia sites and will be removed once it is no longer needed.
VirtualHost of .htaccess
To have truly short URLs, you will need to set up rewrite rules, using mod_rewrite or something similar. An example of what to put in your .htaccess
file comes with the extension. If our template was set up to /r/$1
, then we could use:
RewriteEngine On
RewriteRule ^r/(.*)$ /w/index.php?title=Special:UrlRedirector/$1 [PT]
If you are using nginx, you can add the following within a server {
definition.
location ~ ^/r/(.*) {
return 301 /w/index.php?title=Special:UrlRedirector/$1;
}
This assumes your $wgScriptPath
is set to /w
.
API
This extension provides the API module action=shortenurl
to get the shortened url for a given url, creating it if does not exist already. See the API documentation here: https://meta.wikimedia.org/w/api.php?action=help&modules=shortenurl.
url
- URL to shorten.
Antwoord:
{
"shortenurl": {
"shorturl": "http://127.0.0.1:8080/s/3"
}
}
Zie ook
Deze uitbreiding wordt gebruikt op een of meerdere Wikimedia projecten. Dit betekent waarschijnlijk dat de uitbreiding stabiel is en goed werkt op dergelijke vaak bezochte websites. Zoek op de naam van deze uitbreiding in Wikimedia's CommonSettings.php en InitialiseSettings.php om te zien waar deze is geïnstalleerd. Een volledige lijst van de uitbreidingen die geïnstalleerd zijn op een bepaalde wiki kan worden gevonden op de Special:Version pagina van de wiki. |
Deze uitbreiding is onderdeel van de volgende pakketten en/of beschikbaar op de volgende wiki-families: Er kunnen wiki farms/hosts zijn die deze extension bevatten, maar hier niet genoemd worden. Controleer het altijd bij uw wiki farms/hosts of bundel. |