#author("2016-11-14T02:18:04+09:00","","") * ページのリダイレクトをしたい [#i8417b16] - ページ: [[BugTrack2]] - 投稿者: [[umorigu]] - 優先順位: 低 - 状態: 提案 - カテゴリー: 本体新機能 - 投稿日: 2016-11-10 (木) 01:46:01 - バージョン: 1.5.1 ** メッセージ [#w125f446] 標準のrenameプラグインで複数ページのリネームをすることはできるが、旧ページのURLへアクセスされると、新規ページ作成が行われてしまう。 旧ページから新ページへのリダイレクト機能が欲しい。 自由なリダイレクト設定は脆弱性の発生要因にもなるため、管理者だけが設定できるべきである。 *** 例 [#v902bd49] - BugTrack2/396 を BugTrack/2396 にリネームした後、 BugTrack2/396 にアクセスされた時に、BugTrack/2396 にリダイレクトしたい。 -------- - リダイレクトにも種類がありますよね。~ 1) Wikipedia のようにページ単位で #redirect を設定できるようにする。~ 2) pukiwiki.ini.php / :config/redirect などに書かれた正規表現に基づいてルーティングするような仕組みを作る。 -- [[bee]] &new{2016-11-10 (木) 03:38:03}; -- たぶん意図は 2) だと思うのですが、 A->B, B->C, C->A のようなルールを書いたときに連続で適用するのか、 %%ループしたらどうやって検出するのか%%、 など最終的に機能限定版 mod_rewrite を再実装することになってしまったりして…? -- [[bee]] &new{2016-11-10 (木) 03:46:42}; -- 1) もリダイレクトループの問題は考えなきゃいけないですね…。 -- [[bee]] &new{2016-11-10 (木) 04:23:28}; - 1a) rename プラグインを修正して~ #freeze #redirect(NEW_PAGE_NAME) のようなページを自動生成する機能を付ける、#redirect は freeze されている場合のみ実行するようにする、#redirect は /?cmd=read&page=PAGE_NAME の場合は発動させない、 という感じではどうか。 -- [[bee]] &new{2016-11-10 (木) 03:55:11}; -- リダイレクト先に /?cmd=read&page=PAGE_NAME 形式でリダイレクト元がリンクされると便利かも。 -- [[bee]] &new{2016-11-10 (木) 04:28:00}; - 関連: [[official:自作プラグイン/alias.inc.php]] / [[official:自作プラグイン/redirect.inc.php]] / wiki.revulo.com/pukiwiki/patch/rewritemap / xoops.hypweb.net/modules/pukiwiki/1519.html -- [[bee]] &new{2016-11-10 (木) 04:18:47}; - 頻繁に変更するところではないのと、正規表現を使いたくなるので、pukiwiki.ini.phpにルールを書こうと考えてました。ページ単位であればご提示の既存プラグインが使えますし。リダイレクトループ検出はしません -- [[umorigu]] &new{2016-11-10 (木) 08:50:53}; - 携帯対応も考えると alias.inc.php や redirect.inc.php は結構危ない感じだったりしますが、それ以前にページ数が倍になりますからね。検索が…。 -- [[bee]] &new{2016-11-14 (月) 02:04:55}; - ルーティングする仕組みを上手く設計すると [[BugTrack2/195]] も解決できるかも、ですね。 -- [[bee]] &new{2016-11-14 (月) 02:18:04}; #comment