0

私はドキュメントに Media Wiki を使用しています。たとえば、名前空間を含む多くのページを追加した後、INTERN:My PageまたはPublic:My Pageこの既存の名前空間の読み取りアクセスを制限したい場合。

拡張機能「ロックダウン」を見つけたので、それを新しいカスタムの名前空間に使用できます。

define ("NS_CUSTOM", 110);
$wgExtraNamespaces[NS_CUSTOM] = "customNamespace";

$wgNamespacePermissionLockdown[NS_CUSTOM]['*'] = array('sysop');

既存の名前空間に対して同じコードを試してみると、古いページにアクセスできません。ページが存在しないようです。

既存の名前空間へのアクセスを制限する方法はありますか? 名前空間 ID はデータベースのどこかにありますか?

4

2 に答える 2

2

Lockdown documentationによると、NS_PROJECT のような既存の名前空間には 1 行で十分です。

$wgNamespacePermissionLockdown[NS_PROJECT]['*'] = array('sysop');

あなたの質問とあなた自身の答えから、構成がどのように見えるかは十分に明確ではありません (たとえば、複数の名前空間をロックダウンしようとしていて、そこでエラーが発生した可能性があります)。しかし、あなたはすべきではありません

  1. 既存の名前空間を再定義する
  2. 異なる名前空間 ID に対して NS_CUSTOM 定義を再利用します (これは 1 のバリアントです)。
于 2013-03-08T19:16:13.617 に答える
0

新しいカスタム名前空間を作成しました

define ("NS_CUSTOM", 111);
$wgExtraNamespaces[NS_CUSTOM] = "customNamespace";
$wgNamespacePermissionLockdown[NS_CUSTOM]['*'] = array('sysop');

pageデータベーステーブルの行を次のように変更しましたpage_namespace = 111

于 2013-03-08T18:43:35.267 に答える