Extension:UrlShortener
![]() Sürüm durumu: kararlı |
|
---|---|
![]() |
|
Uygulama | Özel sayfa , API , Vikim |
Açıklama | Provides a basic URL shortening service |
Yazar(lar) | YuviPandamesaj |
En son sürüm | Continuous updates |
MediaWiki | 1.25+ |
PHP | 5.4+ |
Veritabanı değişiklikleri | Evet |
Tablolar | urlshortcodes |
Lisans | Apache Lisansı 2.0 |
İndir | |
|
|
Quarterly downloads | 60 (Ranked 117th) |
Public wikis using | 872 (Ranked 276th) |
Translatewiki.net adresinde mevcutsa, UrlShortener uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
UrlShortener uzantısı, MediaWiki uzantısı olarak temel bir URL kısaltma hizmeti sağlar. Düzgün çalışması için web sunucunuzun yapılandırmasında bazı değişiklikler yapmanız gerekecektir. Başlangıçta URL Shortener RfC uygulamak için tasarlanmıştır.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiUrlShortener
adlı dizine yerleştirin. LocalSettings.php
dosyanızın altına aşağıdaki kodu ekleyin:wfLoadExtension( 'UrlShortener' );
- Bu uzantının ihtiyaç duyduğu gerekli veritabanı tablolarını otomatik olarak oluşturacak betik güncelleme komutunu çalıştırın.
- Gerektiği gibi yapılandırın.
- Gerektiği gibi uyarlayın.
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Vagrant kurulumu:
- Vagrant kullanıyorsanız,
vagrant roles enable urlshortener --provision
ile yükleyin
//wiki.ext/r/foo
düzgün çalışmasını sağlamak için web sunucunuz için yeniden yazma kuralları oluşturmanız gerekecektir. Apache için örnek kurallar uzantı içinde sağlanır şeklindedir.
Yapılandırma
LocalSettings.php
- URL yönlendirme yapılandırması
Kısaltılmış URL'yi oluştururken kullanılacak şablonu yapılandırır.
Bu özelliği kullanmak mod_rewrite (veya eşdeğeri) gerektirir.
false (varsayılan) olarak ayarlanırsa, kısa URL'ler çok kısa olmayan /wiki/Special:UrlRedirector/5234
kullanır, çünkü web sunucusu yapılandırmasından bağımsız olarak çalışacaktır.
Kısa URL'lerinizin domain.org/r/5234
şeklinde olmasını istiyorsanız, şunları ayarlarsınız:
$wgUrlShortenerTemplate = '/r/$1';
- Kısa alan adı
Özel bir kısa alan adınız varsa, bunu kullanarak ayarlayabilirsiniz:
$wgUrlShortenerServer = "short.wiki";
false (varsayılan) olarak ayarlanırsa, $wgServer
kullanır.
- Küresel veri tabanı
Viki çiftliğiniz için tek bir merkezi veritabanı kullanmak istiyorsanız, bunu bir veritabanı adına ayarlayın. false (varsayılan) olarak ayarlanırsa, vikinin normal veritabanını kullanır.
$wgUrlShortenerDBName = false;
Veritabanı harici bir kümede ise, bunu da yapılandırmanız gerekecektir.
$wgUrlShortenerDBCluster = false;
- Keyfi bağlantı noktalarına izin ver
Varsayılan olarak, yalnızca 80 ve 443 bağlantı noktalarına sahip URL'ler kabul edilir ve otomatik olarak kaldırılır. Vikiniz özel bir bağlantı noktası kullanılarak oluşturulmuşsa, keyfi bağlantı noktaları olan URL'lerin kısaltılmasına izin vermek için bunu true olarak ayarlayın.
$wgUrlShortenerAllowArbitraryPorts = true
- AllowedDomains düzenli ifadesi
Kullanıcıların bağlantı gönderebileceği kabul edilebilir alanları yapılandırır. Bu bir dizi normal ifadesi. false (varsayılan) olarak ayarlanırsa, mevcut etki alanı için bir izin listesi oluşturur ($wgServer kullanarak).
$wgUrlShortenerAllowedDomains = false;
Örneğin, yalnızca wikipedia.org veya wikimedia.org bağlantılarını beyaz listeye eklemek için aşağıdakileri kullanırız:
$wgUrlShortenerAllowedDomains = array(
'(.*\.)?wikimedia\.org',
'(.*\.)?wikipedia\.org',
);
Herhangi bir alana izin vermek istiyorsak:
$wgUrlShortenerAllowedDomains = array( '.*' );
- ApprovedDomains belgelendirmesi
Bu, izin verilen alanların bir dizisidir, ancak insan tarafından okunabilir bir formdadır. Special:UrlShortener üzerinde görüntülenecektir.
false (varsayılan) olarak ayarlanırsa, $wgServer normalleştirilmiş bir sürümünü çıkarır.
$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 veya .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.
Yanıt:
{
"shortenurl": {
"shorturl": "http://127.0.0.1:8080/s/3"
}
}
Ayrıca bakınız
Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
This extension is included in the following packages and/or wiki farms: This is not an authoritative list. Some wiki farms/hosts may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |