Kézikönyv:$wgActionPaths
Server URLs and file paths: $wgActionPaths | |
---|---|
Felhasználói feladatok útvonalának megadásához, valamint URL-ek szépítéséhez használható. |
|
Bevezetve: | 1.5.0 (r7538) |
Eltávolítva: | használatban |
Megengedett értékek: | nincs megadva |
Alapértelmezett érték: | [] |
Egyéb beállítások: Betűrendben | Funkció szerint |
Részletek
Ahhoz, hogy a lapok megjelenítésén kívül máshol is „szép” URL-eket használhass, illeszd be az alábbi tömböt.
Például:
$wgActionPaths['edit'] = "$wgScriptPath/edit/$1";
A változó beállításán kívül el kell helyezned egy vonatkozó szkriptet, vagy a szerveren egy új írási szabályt kell beállítanod ezen URL-ek kezeléséhez.
Mintabeállítások
Ezek a példák mod_rewrite-ot alkalmazó Apache-szerverek .htaccess-mintafájljai.
Más szervereken az újraírást más módokon lehet elérni.
Műveleti útvonalak a gyökérkönyvtárból
Ez a beállítás http://mywiki.example.com/edit/Cucumber
formájú linkeket eredményez.
- LocalSettings.php
$actions = [
'view',
'edit',
'watch',
'unwatch',
'delete',
'revert',
'rollback',
'protect',
'unprotect',
'markpatrolled',
'render',
'submit',
'history',
'purge',
'info',
];
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/$action/$1";
}
$wgArticlePath = $wgActionPaths['view'];
További .htaccess-szabályok
- .htaccess
- Győződj meg róla, hogy módosítod a „/w/index.php-t”, ahol a MediaWiki található.
RewriteRule ^/([a-z]*)/(.*)$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]
Műveletek a parancsok végén
Ez a beállítás http://mywiki.example.com/Cucumber/edit
stb. formájú műveleti utakat eredményez.
$actions = [
'edit',
'watch',
'unwatch',
'delete',
'revert',
'rollback',
'protect',
'unprotect',
'markpatrolled',
'render',
'submit',
'history',
'purge',
'info',
];
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/$1/$action";
}
$wgActionPaths['view'] = "/$1";
$wgArticlePath = $wgActionPaths['view'];
Nem gyökérkönyvtárból kiinduló útvonalak
Például ahhoz, hogy az example.com/wiki/Main_Page-ből example.com/wiki/view/Main_Page legyen, a fenti konfigurációt kell használni és az alábbi sort kell megváltoztatni a „/wiki” beillesztéséhez:
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/wiki/$action/$1";
}
Ahhoz, hogy a example.hu/wiki/Main_Page-ből example.com/wiki/edit/Main_Page legyen:
$actions = [
'edit',
'watch',
'unwatch',
'delete',
'revert',
'rollback',
'protect',
'unprotect',
'markpatrolled',
'render',
'submit',
'history',
'purge',
'info',
];
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/wiki/$action/$1";
}
$wgActionPaths['view'] = "/wiki/$1";
$wgArticlePath = $wgActionPaths['view'];
Műveletek a parancsok végén
Ahhoz, hogy olvasáskor a link example.com/wiki/Main_Page legyen, szerkesztéskor pedig example.com/wiki/Main_Page/edit:
$actions = [
'view',
'edit',
'watch',
'unwatch',
'delete',
'revert',
'rollback',
'protect',
'unprotect',
'markpatrolled',
'render',
'submit',
'history',
'purge',
'info',
];
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/wiki/$1/$action";
}
$wgActionPaths['view'] = "/wiki/$1";
$wgArticlePath = $wgActionPaths['view'];
Virtuális műveletek/könyvtárak
Ez a beállítás http://mywiki.example.com/wiki/action/edit/Cucumber
formájú linkeket eredményez.
Ahhoz, hogy a legtöbb[1] művelet egy meghatározott útvonalra mutasson, a LocalSettings.php -ben az alábbi változtatásokat kell eszközölni:
$actions = [
'view',
'edit',
'watch',
'unwatch',
'delete',
'revert',
'rollback',
'protect',
'unprotect',
'markpatrolled',
'render',
'submit',
'history',
'purge',
'info',
];
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "$wgScriptPath/action/$action/$1";
}
$wgArticlePath = $wgActionPaths['view'];
Az Apache-ban egy a következőhöz hasonló újraírási szabályt kell definiálni:
RewriteRule ^/action/([a-z]*)/(.*)$ /index.php [L,QSA]
Ez minden /action/művelet/cím kérést továbbít a MediaWiki index.php fájljának, amely a műveletet és címet a $wgActionPaths beállításainak megfelelően értelmezi.
Az Apache mod_negotiation PHP-szkriptek futtatásához való beállításakor figyelni kell arra, hogy ne jelentkezzen „406 Not Acceptable” („406 Nem elfogadható”) hiba, mivel ezzel láthatóvá válhat a könyvtárszerkezet (lásd: [1] és [2]). Lásd még: bugzilla:21617
Spamvédelem
A $wgActionPaths használatakor (kiváltképp szerkesztéskor) megfigyelhető a spambotok aktivitásának csökkenése. A feltételezések szerint ezek a botok a MediaWiki jelenlétét az „action=edit” tesztelésével ellenőrzik és ennek megfelelően működnek ezután. Így gondold meg, hogy az „action” előtag elhagyásával az „action=edit” parancsot kereső botok nem találhatják meg a wikidet.
- ↑ Jelenleg nem lehetséges $wgActionPath hozzárendelése a „nyers” műveletekhez.