標準のrenameプラグインで複数ページのリネームをすることはできるが、旧ページのURLへアクセスされると、新規ページ作成が行われてしまう。
旧ページから新ページへのリダイレクト機能が欲しい。
自由なリダイレクト設定は脆弱性の発生要因にもなるため、管理者だけが設定できるようにする。
#freeze #redirect(NEW_PAGE_NAME)のようなページを自動生成する機能を付ける、#redirect は freeze されている場合のみ実行するようにする、#redirect は /?cmd=read&page=PAGE_NAME の場合は発動させない、 という感じではどうか。 -- bee 2016-11-10 (木) 03:55:11
// Page redirect rules $page_redirect_rules = array( //'#^RenamedOldProject($|(/(.+)$))#' => 'NewProject$1', '#^BugTrack2/(\d\d\d)$#' => 'BugTrack/2$1', '#^BugTrack2/(\d\d)$#' => 'BugTrack/20$1', '#^BugTrack2/(\d)$#' => 'BugTrack/200$1', );
// Page redirect rules $page_redirect_rules = array( //'#^FromProject($|(/(.+)$))#' => 'ToProject$1', //'#^FromProject($|(/(.+)$))#' => function($matches) { return 'ToProject' . $matches[1]; }, '#^BugTrack2/(((\d+)($|/.+$))|(.+$))#' => function($matches) { if (isset($matches[3]) && $matches[3]) { $number = $matches[3]; if (strlen($number) === 3) { $new_page = 'BugTrack/2' . $number . $matches[4]; } else if (strlen($number) === 2) { $new_page = 'BugTrack/20' . $number . $matches[4]; } else if (strlen($number) === 1) { $new_page = 'BugTrack/200' . $number . $matches[4]; } else { $new_page = 'BugTrack/' . $number . $matches[4]; } } else { $new_page = 'BugTrack/' . $matches[5]; } return $new_page; }, );
$items .= ' <li>' . make_pagelink($page) . '</li>' . "\n";のように置き換えずに自前生成を踏襲したのは何でだったかな~が「$related に登録」ウンヌンなので、理由がハズレならお気になさらないでください。(ls2 プラグインのように、id をa タグに割り振ってるわけでもないのに、う~ん…) -- 2016-12-07 (水) 22:02:43 コメ主 2016-12-08 (木) 23:02:02