NET/www/PukiWiki
の編集
https://over.6pb.info/wiki/?NET/www/PukiWiki
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
*最新のページをデフォルトページに [#e94c5ddc] ページを指定せずPukiWikiにアクセスしたとき、「FrontPage」ではなく、最後に更新されたページが表示されるようにする。(RecentChangesページではない。)PukiWiki初期状態だとFrontPageという名のページ(index.php?FrontPage)が出る。別の選択肢。 -サンプル: https://over.6pb.info/wiki/ #hr -vhost.confまたはhttpd.conf #pre{{ RewriteEngine On RewriteMap wiki_entry "prg:/var/www/html/.../wiki/entry_page.pl" apache:apache }} --下記スクリプトを設置後、reload。restartの必要はない。(2.2.15, 2.4.33) -wiki/.htaccess #pre{{ RewriteEngine On RewriteRule ^$ ${wiki_entry:''} [NE,L] }} --Pattern「^$」は、.../wiki/のように、ディレクトリ名で終わるアクセスとマッチする。wiki/とwikiの両方にマッチする。[[別途書いている>NET/サーバー#rewriteRuleHtaccess]]ように、/wiki/ディレクトリ内に.haccessを置いたなら、Patternに「/wiki」や「wiki」と書かない。書くとマッチしない。頭は/で始まらないし、自分のディレクトリ名は含まれない。 --${prg}: prgという外部プログラムを実行してその戻り値(STDOUT)が${prg}の部分に置換(差替え)される。[[Using RewriteMap - Apache HTTP Server Version 2.4:https://httpd.apache.org/docs/2.4/rewrite/rewritemap.html#prg]] --プログラムには引数を渡す必要がある。空でもよい。ここでは空の''。 --[NE]必須。今回の実際の飛び先(RewriteRuleのSubstitutionの内容)はPukiWikiページなので、NEがないと二重にURLエンコードされてしまう。転送先をベタに書く際、URLエンコードする前の文字列を書く必要があるが、それと同じ。 -wiki/entry_page.pl #pre{{ #!/usr/bin/perl use strict; use warnings; $| = 1; use HTML::TreeBuilder::XPath; my $url = 'https://over.6pb.info/wiki/index.php?RecentChanges'; while (<STDIN>) { my $tree = HTML::TreeBuilder->new_from_url($url); my $href = $tree->findvalue('//*[@id="body"]/ul/li[1]/a/@href'); print $href; print "\n"; } }} --Apacheのお供として常駐する。 --メモリ使用量はWeb::ScraperでもHTML::TreeBuilder::XPathでも大差ないようだ。 ||>|VSZ|>|RSS|h ||RIGHT:|RIGHT:|RIGHT:|RIGHT:|c |Web::Scraper + URI|95,308||22,660|| |Web::Scraper + LWP::Simple|97,656|2.5%|22,944|1.3%| |HTML::TreeBuilder::XPath|94,908|-0.4%|22,180|-2.1%| |HTML::TreeBuilder::XPath + URI|94,912|-0.4%|22,188|-2.1%|
タイムスタンプを変更しない
___paraedit_taxtarea___
テキスト整形のルールを表示する