質問箱/2491

カテゴリ
サマリ[XREA] download.phpの作成方法
バージョン1.4.4
投稿者七誌?
状態完了
投稿日2004-12-17 (金) 16:58:13

質問

xrea.comへの設置(CGI版)にあるdownload.phpを使ってx-beatの広告関係の問題を回避したいんですけど、私が初心者のせいか、いまいちよく分かりません。もう少し詳しく教えていただけないでしょうか。よろしくお願いします。

回答

  • とりあえず経緯と手順を書いてみます。 -- 司書? 2004-12-18 (土) 01:21:03

download.phpが必要な経緯は以下のとおり。

  1. x-beatはバナー広告表示型サーバである*1
  2. 広告表示にはmod_layoutが利用される
  3. mod_layoutでヘッダーが影響をうけるためか強制的にtext/htmlになる
  4. PukiWikiで添付ファイルの展開(attach,ref)とRSS*2が、text/html以外で表示するため影響を受ける
  5. .htaccess の LayoutIgnoreURI で対象スクリプトの広告表示を抑止できる
  6. 広告表示の抑止で該当プラグイン(attach,ref,rss)は正常動作する
  7. しかしながらpukiwiki.phpの広告表示を抑止してしまうと、広告が表示できずにx-beatの規約違反となる

以上より該当プラグイン呼び出し用のdownload.phpを用意し、これを.htaccess の LayoutIgnoreURI に指定する事で問題は解決する。ただしこれも規約上微妙な感じがあるので、せめてdownload.phpは該当プラグイン以外の呼出を禁止する事にする。

具体的に修正が必要なファイルと手順は以下のとおり。

  1. download.php - 上記修正。pukiwiki.phpをコピーしてパッチを当てるfiledownload.diff
  2. lib/download.php - 上記修正。lib/pukiwiki.phpをコピーしてパッチを当てるfilelib_download.diff
  3. lib/html.php - RSSの呼出をdownload.phpから行う。下記の修正
    -	$link_rss      = "$script?cmd=rss10";
    +	$link_rss      = "http://hogehoge.s99.x-beat.com/download.php?cmd=rss10";
  4. plugin/attach.inc.php - ダウンロードをdownload.phpから行うfileattach.diff
  5. plugin/ref.inc.php - ダウンロードをdownload.phpから行うfileref.diff
  6. .htaccess - 広告表示の抑止。.htaccessに(なければ作成して)以下の行を書く
    LayoutIgnoreURI */download.php
  • 司書さん、ありがとうございます。今から試してみます。ご丁寧にパッチまで作成していただいたうえ、詳細な解説までしていただきましてありがとうございました。 -- 七誌? 2004-12-18 (土) 17:55:49
  • 関連があるようですので、後で PukiWiki/Install/xrea.com/CGI の適切な部分にこのページへのリンクを追加願います。重複している部分はまとめちゃってもいいかも :) -- henoheno 2004-12-18 (土) 19:47:27
    • xrea とx-beatの仕様が似ているので、 PukiWiki/Install/xrea.com/CGI に書かれていますが、xreaで実質CGI起動する手段はなくなっているようですし、整理する場合はページを分離した方が良いような気がします。しました -- 司書? 2004-12-20 (月) 02:34:08
  • 司書さん、画像の添付、閲覧等は上手くいきました。けど、RSSが上手く表示されず、右下のRSSをブラウザで表示するとcmd=rss10 is not implemented.と出てきます。うーん、原因が分からない。。。 -- 七誌? 2004-12-18 (土) 23:11:31
    • plugin/rss10.inc.php が存在しないような時にそうなります -- henoheno 2004-12-18 (土) 23:25:16
  • 色々とやってみたんですが、どうにもRSSが表示されません。plugin/rss10.inc.phpは間違いなく存在するんで、パッチを弄る所が(URL以外に)まだあるんですかね。 -- 七誌? 2004-12-22 (水) 20:30:29
  • すいません、間違えました。download.phpはcmd=形式は受け付けないんでした。こっちで試していただけませんか -- 司書? 2004-12-23 (木) 00:57:53
    -	$link_rss      = "$script?cmd=rss10";
    +	$link_rss      = "http://hogehoge.s99.x-beat.com/download.php?plugin=rss10";
  • 司書さん、無事に動きました!こんな初心者にご丁寧にご指導していただきましてありがとうございました! m(_ _)m -- 七誌? 2004-12-23 (木) 09:54:09
    • 同じサーバのよしみって奴で、私もお役に立てて嬉しいです :) -- 司書? 2004-12-23 (木) 20:00:55
  • 司書さん、その節は色々とお世話になりました。RSSに関して問題が出てきたのですが、RSSで通知されたURL(例えばhttp://hogehoge.s99.x-beat.com/download.php?pagename)を開くとcmd=read is not implemented.って出てきます。これは何処を直せばいいんでしょうか。よろしくお願いします。 -- 七誌? 2005-01-05 (水) 23:14:44
    • なるほど、これは対応が漏れていました。 すいません。 対応ですが、download.phpに対してreadが呼ばれた場合にLocationでpukiwiki.phpに飛ばすように変更してみました。 lib/download.php を filelib_download.diff.2 で作り直してみてください。 -- 司書? 2005-01-15 (土) 03:32:29
    • 司書さん、お手数をおかけしてすみません。同じくパッチを当ててRSSで通知されたURLを開くとFatal error: Call to undefined function: pkwk_headers_sent() in /virtual/HOGEHOGE/public_html/lib/download.php on line 114が出てきました -- 七誌? 2005-01-15 (土) 14:10:48
    • そういやpkwk_headers_sentは1.4.5で追加された関数でした。 download.phpのpkwk_headers_sentを削除してください。 -- 司書? 2005-01-15 (土) 16:35:56
    • パッチを当てたlib/download.phpの114行目をコメントアウトしてURLを開いたら上手くいきました!司書さん、親身になって対応していただきましてありがとうございました!m(_ _)m -- 七誌? 2005-01-15 (土) 19:09:35
  • 削除予定: Q&Aに移動 PukiWiki/Install/xrea.com -- Cocoa 2006-01-04 (水) 14:18:16
  • 移動先は xreaではなく、PukiWiki/Install/x-beat.comの方ですね。内容を見るとわかりますが、既にxrea/CGIのページとは全然関係ない内容となっています。 後、移動先のrefがこのページの添付ファイルを参照しているので、削除前に添付ファイルも移動しないとです。 -- 司書? 2006-01-30 (月) 08:38:30
  • Cocoa 2006-01-04 (水) 14:18:16 の削除予定へのリンクは、削除予定のルールに沿わない為削除しました。 -- Cocoa 2007-07-07 (土) 09:15:03


*1 広告のためにXHTML invalidとなるので、実はPukiWiki1.4を使うのは好ましくないのだが、横に置いておく
*2 amazonも怪しいが使ってないので知らない

添付ファイル: filelib_download.diff.2 2018件 [詳細] fileref.diff 2104件 [詳細] filelib_download.diff 1340件 [詳細] filedownload.diff 2184件 [詳細] fileattach.diff 2016件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-07-07 (土) 09:14:11
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.322 sec.

OSDN