#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

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 1.197 sec.

SourceForge