Manual:Short URL/cs
Krátké URL adresy nebo Přepisy URL adres skrývají přípony souborů PHP z adresy stránky. Než začnete, věnujte prosím několik minut vytvoření stabilní struktury URL adres pro váš web, abyste předešli problémům v budoucnu.
Úvod
Cíl
Výchozí instalační cesta MediaWiki vypadá takto:
/var/www/html/mediawiki
(nainstalováno jako uživatel root)/home/johndoe/public_html/mediawiki
(nainstalováno u poskytovatele sdíleného hostingu)
Výchozí adresy stránek MediaWiki vypadají takto:
https://example.org/w/index.php/Page_title
(novější verze MediaWiki bez podpory CGI (Common Gateway Interface))https://example.org/w/index.php?title=Page_title
(novější verze MediaWiki s podporou CGI)
Pomocí metod popsaných na této stránce můžeme nakonfigurovat něco podobného:
https://example.org/wiki/Page_title
Toto je nejběžnější konfigurace, stejná jako na Wikipedii, i když ne výchozí, protože vyžaduje úpravy na straně serveru.https://example.org/view/Page_title
https://wiki.example.org/view/Page_title
https://example.org/Page_title
https://wiki.example.org/Page_title
Někteří lidé nedoporučují poslední dvě konfigurace. Potenciální problémy a řešení viz Příručka:Wiki v kořenovém adresáři webu .
Výhody a nevýhody
- Výhoda: Krátké URL adresy skrývají některé technické detaily před koncovými uživateli, což může být pro majitele webů žádoucí. Mimo jiné to znamená, že mohou zůstat stabilní i při změně základního softwaru. (Rozdíl mezi výchozí strukturou URL adres MediaWiki s povoleným CGI a bez něj viz výše.) Jsou také pro návštěvníky snáze čitelné, zapamatovatelné a manipulovatelné. Krátké URL adresy navíc nabízejí oproti výchozím URL adresám výhodu pro optimalizaci pro vyhledávače, protože URL adresy obsahující
?
mohou být vyhledávači při výpočtu Page Rank považovány za méně příznivé. - Nevýhoda: Vyžaduje konfiguraci, takže v závislosti na používaném hostingovém prostředí může být obtížné jej znovu vytvořit. Nicméně, protože každý široce používaný webový server lze nakonfigurovat pro používání krátkých URL adres, většina placených webhostingových služeb by tuto funkci měla podporovat. Žádný hosting, který vám tuto funkci nenabízí, nestojí za vaše peníze.
Průvodci
Naši oficiální průvodci konfigurací krátkých URL adres pro různé webové servery. Vyberte konfiguraci vašeho webového serveru z tohoto seznamu. Pokud nevíte, jaký serverový software používáte, pak se s největší pravděpodobností jedná o Apache.
Další mininávody s návody
Kdokoli může vytvořit stránku s návodem k řešení a uvést ji níže. Použijte prosím pro stránku rozumný název, který odpovídá níže uvedeným názvům. Pokud má každé unikátní řešení svou vlastní stránku, čtenáři se mohou vyhnout složitosti, kterou nechtějí. Udržujte to jednoduché, čitelné, krátké a pro každé řešení vyhraďte samostatnou stránku.
Abychom pomohli ostatním zjistit, které metody krátkých URL skutečně fungují, po vyzkoušení každé metody upravte stránku a zvyšte počet "fungovalo" (worked) nebo "nefungovalo" (didn't_work) u daného průvodce a kliknutím na odkaz ve svém čísle stručně (nebo podrobně, dle vaší volby) popíšete, co se pokazilo.
URL jako - example.com/wiki/Název_stránky
Přístup Root
Tyto metody vyžadují přístup ke konfiguraci serveru. Pokud jste na sdíleném hostingu, s největší pravděpodobností ne. V tomto případě budete muset použít metodu, která nevyžaduje přístup "no root access" (bez root oprávnění). Můžete přejít přímo k nástroji MediaWiki ShortURL Builder a postupovat podle pokynů na obrazovce. Po zadání adresy URL vaší wiki vyberte možnost "I don't have root access"(nemám root přístup).
- wiki/Název stránky -- Přepis Lighttpd -- přístup root
x4
- wiki/Název stránky -- Přepsání čerokézštiny -- přístup root
x1
- IIS8.5
x2
x1
- Abyss
(pokyny k Apache naleznete v sekci Průvodci).
URL jako - example.com/Název_stránky
Jak vytvořit URL adresy example.com/Název_stránky
:
- Název stránky - nginx, root přístup, PHP jako CGI modul
x6
- Název stránky -- Windows a Apache bez chyby 403 na speciálních stránkách
x3
URL jako - wiki.example.com/Název_stránky
Jak vytvořit URL adresy wiki.example.com/Název_stránky
:
Řešení problémů
Problém s ampersandem (aliasem) (&)
Problém s ampersandem se objevuje, když máte v názvech stránek symboly (jako &, ?, #, + a /), které i přes správné kódování v odkazu nejsou správně předávány z mod_rewrite do skriptu. To se projevuje chybou 404 page-not-found errors (stránka nenalezena), protože název se u speciálního znaku ořízne. Například kliknutí na odkaz "Stránka Johna a Marie" dostane chybu 404, protože MediaWiki hledá stránku s názvem "John".
Je to proto, že ampersandy v dlouhých názvech jsou považovány za oddělovače řetězec dotazu a nikdy by se nedostaly do běhového prostředí PHP běhového prostředí. Toto je způsobeno starou a problematickou chybou mod_rewrite.[1][2]
Řešení:
Tento problém je způsoben částí ?title=
v pravidlech pro přepisování, jako je ?title=$1
/index.php?title=
, která je zcela zbytečná a škodlivá.
MediaWiki analyzuje cesty přímo z REQUEST_URI, takže vše přepište do /index.php.?title=$1
Vymazávání mezipaměti
Pokud si všimnete, že vaše změny v $wgArticlePath
v LocalSettings.php
se neprojevují v example.com/wiki/Main_Page
, může to být způsobeno ukládáním odkazů do mezipaměti MediaWiki podle předchozího nastavení.
Přejděte na example.com/wiki/Main_Page?action=purge
, chcete-li donutit MediaWiki regenerovat odkazy z mezipaměti.
Také můžete:
- Spustit dotaz MySQL "TRUNCATE objectcache;" nebo
- Ujistěte se, že je aktualizována
$wgCacheEpoch
(pokud je povolena$wgInvalidateCacheOnLocalSettingsChange
, stačí upravit LocalSettings.php , abyste ji vymazali)
Přesměrujte návštěvníka vaší domény na vaši wiki
Naše oficiální průvodce konfigurací krátkých URL adres obsahují doporučení, jak pomocí konfigurace krátkých URL adres nasměrovat kořen vašeho webu na vaši wiki.
Například náš průvodce Apache doporučuje použít toto k nasměrování kořenového adresáře vašeho webu na vaši wiki:
RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
Upozorňujeme, že nedoporučujeme provádět přesměrování HTTP přímo na vaši wiki cestu nebo hlavní stránku. Protože přesměrování přímo na hlavní stránku napevno naprogramuje variabilní části nastavení stránky vaší wiki do konfigurace serveru. A přesměrování na cestu wiki bude mít za následek dvě přesměrování. Jednoduše přepište kořenovou cestu k MediaWiki a ta se sama postará o přesměrování 301 na hlavní stránku.
Pokud používáte VirtualHosts, umístěte pravidla přepisování do deklarace virtuálního hostitele!
Přesun wiki z /wiki do /w
Častou chybou začátečníků je instalace samotné MediaWiki (zdrojového kódu, nikoli krátké URL adresy) do /wiki
místo /w
.
Po instalaci by si uvědomili chybu při pokusu o konfiguraci krátkých URL (což by se stalo obtížným, protože virtuální cesta by pak kolidovala se skutečnou cestou).
Existuje obecný návod na přesun wiki, ale to je příliš složité, pokud stačí změnit instalační adresář (a zůstat na stejném serveru, stejné databázi a stejném názvu hostitele).
Zde je to, co musíte udělat:
- Zálohujte soubor
LocalSettings.php
a všechny další konfigurační soubory, které jste případně vytvořili (například soubor.htaccess
). - Přejmenujte instalační adresář MediaWiki na vašem serveru z
/wiki
na/w
. - Nastavte proměnnou
$wgScriptPath
vLocalSettings.php
na"/w"
a odeberte (nebo zakomentujte) jakoukoli definici proměnné$wgArticlePath
(tato proměnná bude znovu změněna při dalším nastavování krátkých URL adres) - V tomto okamžiku by vaše wiki měla normálně fungovat na adrese
example.org/w
- Nyní si projděte běžného průvodce, kde nastavíte krátké URL adresy
- Proveďte na své wiki několik testů, abyste se ujistili, že nic není poškozené. Upravte stránku, navštivte několik různých stránek atd. Pokud se něco jeví jako neobvyklé, vraťte změny zpět obnovením zálohy složky
LocalSettings.php
a dalších relevantních souborů, které jste mohli změnit během konfigurace krátkých URL adres, a přejmenujte složku zpět na/wiki
.
Poznámka pro uživatele sdíleného hostingu: Mnoho sdílených hostingových plánů nabízí správce aplikací pro automatickou instalaci, aktualizaci a zálohování aplikací, jako je MediaWiki. Pokud váš plán tuto funkci nabízí a chcete ji nadále používat, měli byste kontaktovat technickou podporu a sdělit jim, že jste právě ručně změnili instalační adresář MediaWiki.
Triky
Související odkazy
- Vysvětlení, co jsou moduly CGI
- $wgUsePathInfo - konfigurační nastavení, které definuje, zda se mají používat 'hezké“' URL adresy, či nikoli
- Poznámky k umístění instalace wiki do kořenového adresáře webu
- $wgActionPaths - konfigurační nastavení, které můžete použít k definování 'hezkých' URL adres pro další akce, jako je úprava nebo historie
- RFC pro vyčištění URL - navrhuje "čistší URL pro úpravy, náhledy vzhledů atd."
Externí odkazy
- Modul Apache mod_rewrite - přepisuje požadované URL za chodu
- Nástroj pro tvorbu krátkých URL adres MediaWiki - Nástroj, který dokáže automaticky vygenerovat konfiguraci krátkých URL adres spolehlivěji než konfigurace v těchto manuálových stránkách.
- URL jako UI od Jakob Nielsen o důležitosti trvalých a použitelných URL adres.
Poznámky pod čarou
- ↑ Bugzilla mod_rewrite for ampersand bug, která byla u některých uživatelů částečně vyřešena, ale až po 13 letech
- ↑ Bugzilla mod_rewrite for ampersand bug, partially resolved for some users, but only after 13 years