Manual:$wgActionPaths
Sunucu URL'ler ve dosya yolları: $wgActionPaths | |
---|---|
Çeşitli kullanıcı eylemleri için yollar. URL'leri daha güzel yapmak için kullanılır. |
|
Sürümde tanıtıldı: | 1.5.0 (r7538) |
Sürümde kaldırıldı: | hala kullanımda |
İzin verilen değerler: | Belirtilmemiş |
Varsayılan değer: | [] |
Diğer ayarlar: Alfabetik | İşlevsel olarak |
Ayrıntılar
Düz sayfa görünümleri dışındaki eylemler için 'pretty' URL yolları ayarlamak üzere bu diziye ekleyin.
Örneğin:
$wgActionPaths['edit'] = "$wgScriptPath/edit/$1";
Bu değişkeni ayarlamaya ek olarak, bu URL'leri işlemek için uygun bir betik veya sunucu yeniden yazma kuralı koymanız gerekir.
Örnek yapılandırmalar
Bu örnekler, mod_rewrite kullanan Apache sunucuları için örnek .htaccess dosyalarını içerir.
Diğer sunucular, URL yeniden yazımlarını gerçekleştirmenin başka yollarına sahip olacaktır.
Kökten eylem yolları
Bu, http://mywiki.example.com/edit/Cucumber
vb. biçiminde eylem yollarını ayarlar.
- 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'];
ekstra htaccess kuralları
- .htaccess
- "/w/index.php" dosyasını MediaWiki'nin kurulu olduğu yere değiştirdiğinizden emin olun
RewriteRule ^/([a-z]*)/(.*)$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]
sonuna eylem
Bu, http://mywiki.example.com/Cucumber/edit
vb. biçiminde eylem yollarını ayarlar.
$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'];
Kök olmayan eylem yolları
Standart example.com/wiki/Main_Page için example.com/wiki/view/Main_Page yeniden yazılanlar için yukarıdaki yapılandırmayı kullanın ve bu satırı "/wiki" içerecek şekilde değiştirin:
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/wiki/$action/$1";
}
Standart example.com/wiki/Main_Page görünüm URL'leri için ve example.com/wiki/edit/Main_Page olarak yeniden yazılır
$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'];
sonuna eylem
Standart example.com/wiki/Main_Page görünüm URL'leri için ve example.com/wiki/Main_Page/edit olarak yeniden yazılır
$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'];
Sanal eylem / dizinler
Bu, http://mywiki.example.com/wiki/action/edit/Cucumber
vb. gibi URL'ler oluşturur.
Belirli bir yola çoğu[1] eylemi yeniden yazmak için LocalSettings.php dosyasında aşağıdaki değişiklikler yapılabilir:
$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'];
Apache'de, aşağıdakine benzer bir yeniden yazma kuralı kodlayın:
RewriteRule ^/action/([a-z]*)/(.*)$ /index.php [L,QSA]
Bu, tüm istekleri /action/actionword/title ile, $wgActionPaths ayarlarınıza göre eylemi ve başlığı ayrıştıracak olan MediaWiki'nin index.php dosyasına iletecektir.
Apache mod_negotation, bu yöntemi kullanırken PHP betiklerini çalıştıracak şekilde yapılandırılırken, bazı durumlarda bir dizin listesini açığa çıkarabilecek 406 Kabul Edilemez hatalara neden olmamaya dikkat edilmelidir, [1], [2] bakın. Ayrıca bakınız bugzilla:21617.
Spam önlemesi
$wgActionPaths kullanmak, özellikle edit eylemi için madde düzenlemelerini deneyen spam botların sayısını azaltmaktadır. Botların bir MediaWiki kurulumunu tanımlamak ve uygun şekilde hareket etmek için action=edit aramaya programlandığından şüpheleniliyor. Bunu akılda tutarak, botların action/edit aramaya başladıklarında sitenizi bulamaması için action ine görünür olmayan bir önek eklemek faydalı olacaktır.
- ↑ Şu anda 'raw' eylem için $wgActionPath ile sahip olmak mümkün değil.