Manual:$wgActionPaths

This page is a translated version of the page Manual:$wgActionPaths and the translation is 100% complete.
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:[]

Ayrıntılar

Manuel:Kısa URL kurun ve önce çalıştığından emin olun

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 = array( '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 = array( '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 = array( '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

Bu şekilde kurulum yaparken diziden "delete, edit, watch, unwatch" vb. adlı ana sayfaların alt sayfalarını alamazsınız.
$actions = array( '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 = array( '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.


  1. Şu anda 'raw' eylem için $wgActionPath ile sahip olmak mümkün değil.