Erweiterung:UrlShortener
Freigabestatus: stabil |
|
|---|---|
| Einbindung | Spezialseite, API, MeinWiki |
| Beschreibung | Provides a basic URL shortening service |
| Autor(en) | YuviPandaDiskussion |
| Letzte Version | Continuous updates |
| MediaWiki | 1.25+ |
| PHP | 5.4+ |
| Datenbankänderungen | Ja |
|
|
|
|
| Lizenz | Apache License 2.0 |
| Herunterladen | |
| Hilfe | Help:Extension:UrlShortener/de |
| Übersetze die UrlShortener-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
| Probleme | Offene Aufgaben · Einen Fehler melden |
Die UrlShortener Erweiterung beinhaltet einen einfachen URL-Kürzungsservice als eine MediaWiki Erweiterung. Es wird einige Änderungen an der Konfiguration Ihres Webservers erfordern, um ordnungsgemäß zu funktionieren. Es wurde ursprünglich entwickelt, um den URL Shortener RfC umzusetzen.
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
UrlShortenerim Ordnerextensions/ablegen.
Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UrlShortener
- Folgenden Code am Ende deiner LocalSettings.php-Datei einfügen:
wfLoadExtension( 'UrlShortener' );
- Führe das Aktualisierungsskript aus, welches automatisch die notwendigen Datenbanktabellen erstellt, die diese Erweiterung braucht.
- Konfiguriere nach Bedarf.
- Passe nach Bedarf an.
Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Vagrant-Installation:
- Wird Vagrant benutzt, ist mit
vagrant roles enable urlshortener --provisionzu installieren
//example.com/r/foo ordnungsgemäß funktioniert, müssen Sie die Umleitungsregeln für Ihren Webserver neu schreiben. Beispielregeln für Apache sind in der Erweiterung [$url enthalten].
Konfiguration
LocalSettings.php
URL-Routing-Konfiguration
Konfiguriert die Vorlage, die bei der Erstellung der verkürzten URL genutzt werden soll.
Die Verwendung dieser Funktion erfordert mod_rewrite (oder ein Äquivalent).
Bei false (Standard), verwenden die kurzen URLs die nicht so kurze /wiki/Special:UrlRedirector/5234, da sie unabhängig von der Webserverkonfiguration funktioniert.
Wenn Sie Ihre kurzen URLs in Form von example.com/r/5234 wünschen, setzen Sie:
$wgUrlShortenerTemplate = '/r/$1';
Kurze Domänenname
Wenn Sie einen eigenen kurzen Domainnamen haben, können Sie wie folgt setzen:
$wgUrlShortenerServer = "short.wiki";
Wenn es auf false (Standard) eingestellt ist, wird $wgServer verwendet.
Globale Datenbank
Setzen Sie diese auf den Namen einer Datenbank, wenn Sie eine zentrale Datenbank für Ihre Wiki-Farm verwenden möchten. Wenn sie auf false (Standard) eingestellt ist, wird sie die normale Datenbank des Wiki verwenden.
$wgVirtualDomainsMapping['virtual-urlshortener'] = [ 'db' => '<shared-db>' ]
Erlaube willkürliche Ports
Standardmäßig werden nur URLs mit den Ports 80 und 443 akzeptiert und automatisch entfernt. Wenn Ihr Wiki mit einem benutzerdefinierten Port eingerichtet ist, setzen Sie dies auf true, um URLs mit beliebigen Ports zu verkürzen.
$wgUrlShortenerAllowArbitraryPorts = true;
AllowedDomains Regex
Konfigurert die zulässigen Domains, für die Benutzer Links einreichen können.
Das ist eine Array von regulären Ausdrücken.
Wenn false (Standard) eingestellt wird, wird eine Berechtigungsliste für die aktuelle Domain (mit Hilfe von $wgServer) eingerichtet.
$wgUrlShortenerAllowedDomains = false;
Um beispielsweise nur Links zu wikipedia.org oder wikimedia.org zuzulassen, kann folgendes verwendet werden:
$wgUrlShortenerAllowedDomains = array(
'(.*\.)?wikimedia\.org',
'(.*\.)?wikipedia\.org',
);
Wenn wir jede Domäne erlauben wollen:
$wgUrlShortenerAllowedDomains = array( '.*' );
ApprovedDomains Dokumentation
Dies ist eine Array der zulässigen Domains, aber in einer von Menschen lesbaren Form. Es wird auf Special:UrlShortener angezeigt.
Wenn es auf false (Standard) eingestellt ist, wird eine normalisierte Version von $wgServer verwendet.
$wgUrlShortenerApprovedDomains = false;
Wenn Sie nur wikipedia.org und wikimedia.org im obigen Beispiel erlauben:
$wgUrlShortenerApprovedDomains = array(
'*.wikimedia.org',
'*.wikipedia.org',
);
Kurzcode Zeichensatz
Wenn Sie den Zeichensatz anpassen möchten, die die Kurzcodes verwenden, können Sie diese Einstellung überschreiben. Dies sollte nur einmal während der Einrichtung durchgeführt werden. Wenn danach eine Änderung vorgenommen wird, werden alle vorhandenen kurzen URLs an das falsche Ziel geleitet. 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 above string has been the default for many years, but could be problematic owing to the $ character which some social media platforms remove from URLs. New installations may wish to configure this to exclude $.
Das erste Zeichen in der Liste wird als führende Null behandelt; keine Kurzcodes, die mit diesem Zeichen beginnen, werden erstellt und es wird ignoriert, wenn es am Anfang des Kurzcodes in einer URL verwendet wird (z.B. https://w.wiki/22222222w ist gleich https://w.wiki/w).
Nur-Lesen-Modus
Setzen Sie $wgUrlShortenerReadOnly auf true, um zu verhindern, dass Benutzer neue kurze URLs erstellen.
Dies ist hauptsächlich als Hack während der Bereitstellung auf Wikimedia-Sites gedacht und wird entfernt, sobald es nicht mehr benötigt wird.
QR-Codes
| MediaWiki Version: | ≥ 1.41 |
Ab der UrlShortener-Version 1.1.0 können Sie das Teilen von QR-Code ermöglichen. Hierbei gibt es zwei Konfigurations-Einstellungen. Eine ist lediglich, QR-Codes teilen zu können. One is simply to enable QR code sharing.
$wgUrlShortenerEnableQrCode = true;
Beachten Sie, dass derzeit $wgUrlShortenerEnableSidebar auch eingestellt sein muss, wenn Sie möchten, dass der QR-Code runterladen-Link in der Seitenleiste angezeigt werden soll.
Der Link, auf den die QR-Codes hinweisen, wird nur verkürzt, wenn er sehr lang ist. Dies liegt daran, dass Benutzer bei dem Scannen eines QR-Codes lieber eine vertraute Domain sehen würden, aber wenn die URL zu lang ist, wird die Pixeldichte des QR-Codes zu schwierig zu scannen. Sie können die Länge der URLs steuern, die, wenn sie überschritten werden, zuerst verkürzt werden, bevor ein QR-Code erstellt wird. Die Zahl hier bezieht sich auf die Anzahl der Bytes, nicht auf Zeichen. The number here refers to the number of bytes, not characters.
$wgUrlShortenerQrCodeShortenLimit = 200;
VirtualHost oder .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 directive:
location ~ ^/r/(.*) {
return 301 /w/index.php?title=Special:UrlRedirector/$1;
}
This assumes your $wgScriptPath is set to /w.
Alternative URL
As the shortener will eventually start generating bad words in various languages, an alternative short URL beginning with _ is also created (see T230685).
To avoid this extra URL from being shown you can blank the page MediaWiki:Urlshortener-shortened-url-alt on your wiki.
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.
You can see the API documentation for help.
url- URL to shorten.
Antwort:
{
"shortenurl": {
"shorturl": "http://127.0.0.1:8080/s/3"
}
}
Special pages
- Special:UrlShortener - Convert a full URL to a short URL.
- Special:ManageShortUrls - Delete a short URL or restore a deleted one.
- Special:UrlRedirector - With a short URL as parameter (e.g.
Special:UrlRedirector/bb) this will redirect to the real URL. - Special:QrCode - See above.
Siehe auch
| Diese Erweiterung wird in einem oder mehreren Wikis von Wikimedia verwendet. Das bedeutet mit hoher Wahrscheinlichkeit, dass die Erweiterung stabil ist und gut genug funktioniert, um auf solch häufig besuchten Webseiten benutzt zu werden. Suche nach dem Erweiterungs-Namen in den Wikimedia CommonSettings.php und den InitialiseSettings.php-Konfigurations-Dateien, um nachzusehen, wo es installiert ist. Eine vollständige Liste der installierten Erweiterungen in einem bestimmten Wiki wird auf Special:Version im Wiki generiert und angezeigt. |
| Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: |
- Stable extensions/de
- Special page extensions/de
- API extensions/de
- Personalization extensions/de
- BeforePageDisplay extensions/de
- LoadExtensionSchemaUpdates extensions/de
- SidebarBeforeOutput extensions/de
- SkinTemplateNavigation::Universal extensions/de
- WebRequestPathInfoRouter extensions/de
- Apache licensed extensions/de
- Extensions in Wikimedia version control/de
- All extensions/de
- Extensions used on Wikimedia/de
- Extensions included in Miraheze/de
