BugTrack/2396
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* ページのリダイレクトをしたい [#i8417b16]
- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 低
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2016-11-10 (木) 01:46:01
- バージョン: 1.5.1
- リリース予定バージョン: 1.5.2
** メッセージ [#w125f446]
標準のrenameプラグインで複数ページのリネームをすることは...
旧ページから新ページへのリダイレクト機能が欲しい。
自由なリダイレクト設定は脆弱性の発生要因にもなるため、管...
*** 例 [#v902bd49]
- BugTrack2/396 を BugTrack/2396 にリネームした後、 BugTr...
--------
- リダイレクトにも種類がありますよね。~
1) Wikipedia のようにページ単位で #redirect を設定できる...
2) pukiwiki.ini.php / :config/redirect などに書かれた正規...
-- たぶん意図は 2) だと思うのですが、
A->B, B->C, C->A のようなルールを書いたときに連続で適用す...
%%ループしたらどうやって検出するのか%%、
など最終的に機能限定版 mod_rewrite を再実装することになっ...
-- 1) もリダイレクトループの問題は考えなきゃいけないです...
- 1a) rename プラグインを修正して~
#freeze
#redirect(NEW_PAGE_NAME)
のようなページを自動生成する機能を付ける、#redirect は fr...
という感じではどうか。 -- [[bee]] &new{2016-11-10 (木) 03...
-- リダイレクト先に /?cmd=read&page=PAGE_NAME 形式でリダ...
- 関連:
[[official:自作プラグイン/alias.inc.php]] /
[[official:自作プラグイン/redirect.inc.php]] /
wiki.revulo.com/pukiwiki/patch/rewritemap /
xoops.hypweb.net/modules/pukiwiki/1519.html -- [[bee]] &n...
- 頻繁に変更するところではないのと、正規表現を使いたくな...
- 携帯対応も考えると alias.inc.php や redirect.inc.php は...
- ルーティングする仕組みを上手く設計すると [[BugTrack2/19...
- シンプルに実装してみました。[[BugTrack2/195]]など他の問...
- ルールについてドキュメントに記載しました。[[official:Pu...
- このサイトでは BugTrack2/xxx -> BugTrack/2xxx のリダイ...
// 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',
);
- preg_matchが常に3回走るのがいまいちなので$replaceに関数...
// Page redirect rules
$page_redirect_rules = array(
//'#^FromProject($|(/(.+)$))#' => 'ToProject$1',
//'#^FromProject($|(/(.+)$))#' => function($matches) { ...
'#^BugTrack2/(((\d+)($|/.+$))|(.+$))#' => function($mat...
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;
},
);
- 無名関数を利用するのは PHP 5.3+ な機能なので、ドキュメ...
-- Todo: '#(.*)#' => function($matches) { /* mbstring で...
-- 今の実装だとmatchしたら必ずredirectしてしまうので、こ...
-- 変換後にもページ名が変わらなかったらリダイレクトしない...
- ありがとうございます!(時間がなくてまだ動作テストでき...
- devサイトをアップデートした([[開発日記/2016-12-07]])...
-- (1)リダイレクト設定は頻繁には変えない想定であること。(...
-- popularも同じじゃないかな... 確かに、新しい機能に対応...
-- recentは[[BugTrack/676]]のためにmake_pagelink()を使わ...
-- [[commit:4683d446b562736dce7a199dc9dd168f455fe168]] で...
$items .= ' <li>' . make_pagelink($page) . '</li>' . "\n";
のように置き換えずに自前生成を踏襲したのは何でだったかな...
-- この処理に置き換えるのでもよさそうですね -- [[umorigu]...
-- 見ましたけどrecent.inc.phpの処理とmake_pagelink()内で...
-- そういう事でしたか。わざわざ調査までしていただき、あり...
#comment
終了行:
* ページのリダイレクトをしたい [#i8417b16]
- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 低
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2016-11-10 (木) 01:46:01
- バージョン: 1.5.1
- リリース予定バージョン: 1.5.2
** メッセージ [#w125f446]
標準のrenameプラグインで複数ページのリネームをすることは...
旧ページから新ページへのリダイレクト機能が欲しい。
自由なリダイレクト設定は脆弱性の発生要因にもなるため、管...
*** 例 [#v902bd49]
- BugTrack2/396 を BugTrack/2396 にリネームした後、 BugTr...
--------
- リダイレクトにも種類がありますよね。~
1) Wikipedia のようにページ単位で #redirect を設定できる...
2) pukiwiki.ini.php / :config/redirect などに書かれた正規...
-- たぶん意図は 2) だと思うのですが、
A->B, B->C, C->A のようなルールを書いたときに連続で適用す...
%%ループしたらどうやって検出するのか%%、
など最終的に機能限定版 mod_rewrite を再実装することになっ...
-- 1) もリダイレクトループの問題は考えなきゃいけないです...
- 1a) rename プラグインを修正して~
#freeze
#redirect(NEW_PAGE_NAME)
のようなページを自動生成する機能を付ける、#redirect は fr...
という感じではどうか。 -- [[bee]] &new{2016-11-10 (木) 03...
-- リダイレクト先に /?cmd=read&page=PAGE_NAME 形式でリダ...
- 関連:
[[official:自作プラグイン/alias.inc.php]] /
[[official:自作プラグイン/redirect.inc.php]] /
wiki.revulo.com/pukiwiki/patch/rewritemap /
xoops.hypweb.net/modules/pukiwiki/1519.html -- [[bee]] &n...
- 頻繁に変更するところではないのと、正規表現を使いたくな...
- 携帯対応も考えると alias.inc.php や redirect.inc.php は...
- ルーティングする仕組みを上手く設計すると [[BugTrack2/19...
- シンプルに実装してみました。[[BugTrack2/195]]など他の問...
- ルールについてドキュメントに記載しました。[[official:Pu...
- このサイトでは BugTrack2/xxx -> BugTrack/2xxx のリダイ...
// 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',
);
- preg_matchが常に3回走るのがいまいちなので$replaceに関数...
// Page redirect rules
$page_redirect_rules = array(
//'#^FromProject($|(/(.+)$))#' => 'ToProject$1',
//'#^FromProject($|(/(.+)$))#' => function($matches) { ...
'#^BugTrack2/(((\d+)($|/.+$))|(.+$))#' => function($mat...
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;
},
);
- 無名関数を利用するのは PHP 5.3+ な機能なので、ドキュメ...
-- Todo: '#(.*)#' => function($matches) { /* mbstring で...
-- 今の実装だとmatchしたら必ずredirectしてしまうので、こ...
-- 変換後にもページ名が変わらなかったらリダイレクトしない...
- ありがとうございます!(時間がなくてまだ動作テストでき...
- devサイトをアップデートした([[開発日記/2016-12-07]])...
-- (1)リダイレクト設定は頻繁には変えない想定であること。(...
-- popularも同じじゃないかな... 確かに、新しい機能に対応...
-- recentは[[BugTrack/676]]のためにmake_pagelink()を使わ...
-- [[commit:4683d446b562736dce7a199dc9dd168f455fe168]] で...
$items .= ' <li>' . make_pagelink($page) . '</li>' . "\n";
のように置き換えずに自前生成を踏襲したのは何でだったかな...
-- この処理に置き換えるのでもよさそうですね -- [[umorigu]...
-- 見ましたけどrecent.inc.phpの処理とmake_pagelink()内で...
-- そういう事でしたか。わざわざ調査までしていただき、あり...
#comment
ページ名: