Home > Yomi-Search(PHP)modified改造 > Yomi-Search(PHP)modified 静的表示化+キャッシュ+完全HTML化 改造パック

Yomi-Search(PHP)modified 静的表示化+キャッシュ+完全HTML化 改造パック

Yomi-Search(PHP)modifiedで静的表示化する機能をまとめた改造パックを作りました。
かなり多くのコードを修正しなければならず、プラグインと言うほど手軽でもないので「改造パック」としました。

審査モードで使っている場合は、完全HTML化(HTMLファイル出力)できたほうがサーバー負荷も少ないですし色々メリットも大きいかと思います。

静的表示化+キャッシュ+完全HTML化 改造パックの特徴

改造箇所は、今まで紹介されて来たYomi-Search(PHP)の静的表示化と基本的には同じですが、この改造パックでは、カテゴリのみに留まらず殆どのモードを静的表示化できます。

静的表示化 対応モード

yomi.php

カテゴリ 新着 更新 特殊マーク(おすすめ、相互など) ランダム ヘルプ
dir new renew m1~m10 random help

rank.php

人気ランキング アクセスランキング キーワードランキング
現在 前回 累計 現在 前回 累計
rank_ys rank_bf rank_rui rev rev_bf rev_rui keyrank

は完全HTML化可能なモード(トップページは「index.html」)

通常は「yomi.php」を「index.php」に変更して使うケース多いいですが、この改造パックでは専用の「index.php」を使って「yomi.php」「rank.php」を飛び越えて直接各モードに分岐します。

管理画面から設定

静的表示化の「ON」「OFF」や有効にしたいモードの選択など管理画面から行えます。

メニューバーのリンク変更なども静的表示化設定の状況に合わせて自動的に「静的」「動的」に切り替わるので、改造パック設置後は静的表示化設定画面の操作のみで集中的に管理することができます。

セットアップスクリプト

簡易的ではありますが、Yomi-Search(PHP)modifiedバージョン1.4 or 1.5のデフォルト状態を対象にしたセットアップスクリプトを作りました。

既存ファイルの修正はサーバー環境により違いがあるので、3パターン用意しました

どのファイルのどの部分を修正するか、1つずつ紹介されるので、ご自身で改造する事も可能です。(18ファイル60箇所の修正)

設置方法

サーバー環境

  • .htaccessが使える事
  • RewriteEngineが使える事
  • PHP バージョン4.3以上(テスト環境 PHP5.2.3)
  • Yomi-Search(PHP)modifiedバージョン1.4以上を既にセットアップしてある

スクリプトのダウンロード

ダウンロード:yspm_static1.1.0.zip

Yomi-Search(PHP)modified本体は:こちら

アップロード

ファイルを解凍すると「index.php」と「yspm_static」ディレクトリが入っています。それらをアップロードします。
「yspm_static」ディレクトリ内の「files_default_ver1.4」にはYomi-Search(PHP)modified ver1.4の修正済みファイルが入っています。
無改造の方は、「files_default_ver1.4」ディレクトリ内のファイルをサイトルートに上書きしてください。

Yomi-Search(PHP)modified ver1.5用は「files_default_ver1.5」

注意:「yomi.php」を「index.php」に変更されている方は、環境設定の「yomi.phpのファイル名」も含めてデフォルトに戻してください。

注意:「HTML設定」の「メニューバー」設定は、デフォルトのまま動的URIにしてください。対象モードによって自動的に静的URIに変更されます。また、「yomi.php」「rank.php」「search.php」「regist_ys.php」以外のリンクを追加する場合は、絶対パスで指定してください。

ブラウザから「yspm_static/setup/index.php」を開き管理者用パスワードでログインしてセットアップを行ってください。

セットアップの流れ

  1. パーミッションの確認
  2. .htaccessの修正
  3. Yomi-Search既存ファイルの修正 (修正方法選択)
  4. ファイル修正の結果と内容 (修正箇所の詳細が見れます)
  5. テーブル追加
  6. セットアップ終了 管理画面へ
  7. 静的表示化設定で「URIベース」の設定は必ず行ってください

注意事項

利用規約等はYomi-Search(PHP)modifiedに準じます。
当スクリプトなどの利用による、いかなる損害に対しても、責任は負いません。

最後に

先輩方の改造記事は非常に参考になりました。それでも私がYomi-Search(PHP)を改造してきた中で「静的表示化」が1番大変な改造でした。今まで何度か改造記事を書こうとしましたが中々良い方法が思い浮かばず挫折の連続でした。
このブログWordPressなんかも設定するだけで簡単に「静的表示化」ができるようになってます。
本家Yomi-Searchも静的化できるみたいですし、可能であれば標準装備してもらいたい機能です。

簡単に実行時間を測ってみましたが、改造前と改造後では大きな差はありませんでした。
実際ばらつきがあるので正確ではありませんが、それより残念なのはキャッシュを使っても全然早くならなかった事です。
元々が高速なので意味が無いのか、私の環境だけかもしれませんが…
当たり前ですがHTML化は高速でした。(他の1/10ぐらい)

バージョンアップ履歴

2008/04/26
-----------------------
Yomi-Search(PHP)modified Ver1.5に対応

2008/04/19
-----------------------
ver1.0.6
ランキングページのパンくずリストの修正漏れ追加

2008/04/09
-----------------------
ver1.0.5
ver1.0.4でメニューバーのマイリンクにアクセスできない不具合修正
メニューバーのリンク変換を「yomi.php」「rank.php」「search.php」「regist_ys.php」
以外行わないように修正(デフォルト以外のリンク登録を可能にした)
静的表示化管理画面にバージョンを表示するように修正

2008/04/08
-----------------------
ver1.0.4
メニューバーにホームへのリンクが設置できない不具合修正

2008/03/30
-----------------------
ver1.0.3
キャッシュモードが有効にならない不具合修正

2008/03/21
-----------------------
ver1.0.2
キーワードランキングのデータが表示されない不具合修正

2008/03/04
-----------------------
ver1.0.1
マークアイコンが表示されない不具合修正
関数名、設定名スペルミス修正

2008/02/27
-----------------------
ver1.0
セットアップスクリプト、設定ファイルをDB化、静的表示化プロセス等
全面的に修正

2008/02/10
-----------------------
初版

関連記事

Comments:15

azu 08-04-24 (木) 9:31

yspm_static1.0.6.zipをダウンロードさせて頂きありがとうございました。
で、どーしても解らない事があり質問させていただきたいのですがカテゴリは問題なくHTML化されたんですが人気ランキング、アクセスランキング、キーワードランキング、サイトマップが表示されません・・
本体はYomi-Search(PHP)modified ver1.5.0をダウンロードしました。
設置の仕方が悪いのでしょうか?

SO 08-04-25 (金) 20:42

「サイトマップ」は静的表示化の対象としていないので、HTML化も出来ません。
人気ランキング、アクセスランキング、キーワードランキングは、ポイント集計等の処理があるので、HTML化の対象から外しています。基本的に「静的表示化の設定」「完全HTML化」の対象モードに無いものはHTML化する事は出来ません。

「Yomi-Search(PHP)modified ver1.5.0でのセットアップ」
修正済みファイルは、ver1.4用の物ですが「template/top.html」以外はそのまま使えます。セットアップで変換をする場合は、ver1.5でも問題ありません。

azu 08-04-26 (土) 1:09

SOさま、お返事ありがとうございます。
また、解り難い表現を使いまして失礼いたしました。
人気ランキングは “html/rank_ys.html” アクセスランキングは “html/rev.html” キーワードランキングは “html/keyrank.html” とリンクされてしまいます・・
サイトマップはなぜか表示されるようになってたんですがSOさまに教えていただいた
>template/top.html」以外はそのまま使えます。
で、本体のtemplate/top.htmlに書き換えてみたんですがカテゴリ全体がノーマルのPHP表示になってしまいます。

azu 08-04-26 (土) 22:10

昨日から何度も設置し直しているんですが人気ランキング、アクセスランキング、キーワードランキングが表示されません・・
カテゴリは表示されるんですがどーして人気ランキング、アクセスランキング、キーワードランキングは表示されないんでしょうか?
ご手数とは思いますが宜しくお願いします。

SO 08-04-26 (土) 22:47

「template/top.html」は、ver1.4用の修正済みファイルでも使えるのですが、ver1.5で実装された、RSSが機能しなくなるので正式には対応してませんでした、ファイル自体の改造が必要ないと書いたつもりはなかったのですが、うまく伝わらなかったようですみません。
本日Ver1.5に対応すようにyspm_static1.1.0を公開しましたので、「files_default_ver1.5」の修正済みファイルを使ってください。

人気ランキングは “html/rank_ys.html” アクセスランキングは “html/rev.html” キーワードランキングは “html/keyrank.html” とリンクされてしまいます・・

標準ですとリンクされるアドレスは間違ってません。
そのアドレスでページが表示されないと言うことでしょうか?
「静的表示化」を「無効」にしても同じ症状ですか?

azuさんのランキングに関する不具合は、私にとっても不思議な現象です。
私の方でも、モジュール版、CGI版PHPなど3種類の環境でテストを行っていますがそういった症状は出たことがありません。
また、他に使用されている方からもそういった報告がないので、設置されたサイトを見せていただくしか解決の方法は無いかと思います。

azu 08-04-27 (日) 9:55

soさま、お返事ありがとうございます。

>そのアドレスでページが表示されないと言うことでしょうか?
はい、“html/rank_ys.html”とURLで表示されるものの「Web ページがみつかりません」となってしまいます。
>「静的表示化」を「無効」にしても同じ症状ですか?
無効にするとPHPでランキングも表示されます。

SO 08-04-27 (日) 14:50

結論から言えば、「.htaccess」の設置不良です。
考えられる原因は以下の3つです。
1.改造パックのセットアップ「.htaccessの修正 」で表示されるコードを適切に追加できてない
2.お使いのサーバーが、「.htaccess」の使用を禁止している
3.お使いのサーバーで、「mod_rewrite」モジュールが使えない

対応方法としては、配布ファイル「yspm_static1.1.0/.htaccess」をホームディレクトリにコピーして
同じ症状でしたら、原因は2.3.と特定できます。
「設置方法」「サーバー環境」の項にも書いてある通りこれらは、必須項目です。
2.3.の場合は、レンタルサーバー会社に確認して下さい。

カテゴリだけ表示できたのは、「完全HTML化」でHTMLファイルを生成した為で、
「静的表示化」全般が機能していません。

dtm 08-05-30 (金) 11:14

はじめまして。

この度、yspm_static1.1.0.zipをDLさせて頂きましたのでご報告にまいりました。有難う御座いました!

あと、質問させて頂きたいのですが、インストールは上手くいったのですが、画像(検索の虫眼鏡の画像とカテゴリーのフォルダーの画像)が表示できなくなってしまいました。

ご迷惑でなければご指導頂ければ嬉しく思います。

宜しくお願い致します。

SO 08-05-30 (金) 19:31

dtmさんはじめまして

「環境設定」>「画像ファイルディレクトリのパス」が、「img/」(デフォルト値)になっていれば、静的表示化設定の「URIペース」の値が間違っているかも知れません。
ドメイン直下にYomi-Searchを設置したなら「/」、下層ディレクトなら「/ディレクトリ名/」のように設定して下さい。
「URIペース」+「画像ファイルディレクトリのパス」でドメイン直下からの絶対パスに変換されます。

dtm 08-05-31 (土) 23:56

soさんへ

回答有難う御座います。phpは初心者なので良く分からないのですが、「静的表示化設定」→「URIベース」で“「/」から始まり「/」で終わる”とありますが、例えば、アドレスが“http://○○○.×××.net”で、直下のにyomi.phpをおいてある場合、URIベースは

/http://○○○.×××.net/yomi.php/

となるのでしょうか?これをやると画像が表示されなくなるんです。

soさんのアドバイスは、「環境設定」>「画像ファイルディレクトリのパス」をドメイン直下にYomi-Searchを設置したなら

「/img」ではなく、「/」

と直すという事を仰っていると解釈してよいのでしょうか?

素人丸出しで申し訳ありません(汗)。

SO 08-06-01 (日) 0:17

こんばんわdtmさん
紛らわしい説明で申し訳ありません。
「環境設定」>「画像ファイルディレクトリのパス」
設定値:「 img/ 」
「静的表示化設定」>「URIベース」
設定値:「 / 」
として下さい。
この設定で 「/img/」と変換されます。
「 / 」から始まるパスはドメイン直下からとなるので「http://○○○.×××.net/img/」と同じ意味になります。

dtm 08-06-01 (日) 0:23

soさんへ

早速のお返事有難う御座います!

出来ました!!

URIベースは「/」だけで良かったんですね!
ご親切なアドバイス有難う御座います。

また何かありましたらアドバイス宜しくお願い致します!

アガルタ 08-07-19 (土) 1:38

初めまして、yspm_static1.1.0.zipをダウンロードさせて頂いた者です。
PHS、SQLがわかっていない為か、うまくインストールする事が出来ませんでした。

・行った手順
Yomi-Search(PHP)modified\1.5.2をアップロードし、yspm_static1.1.0をアップロードした後、静的表示化初期セットアップを行いました。

・結果
「.htaccessの修正」というタイトルの画面
Yomi-Search既存ファイルの修正 >>
で「次へ」をクリックスすると下記の文字が60組表示され、日本語で表示されると思われる文字が全て化けしてしまいました。
Warning: mb_split() [function.mb-split]: mbregex compile err: premature end of regular expression in /home/comic/public_html/yspm_static/setup/yspm_static_setup_file_replace.class.php on line 49
・その後、次へと思われるボタンをクリックして先に進みましたが、「NG yomi.php菫ョ豁」貂医∩[0/1]」などの文字が出てきたりしています。
文字化けなのでphpMyAdminで言語をutf-8にしてみましたが違うようでした・・

ご指導のほど、よろしくお願い致します。

SO 08-07-20 (日) 4:15

はじめましてアガルタさん
Yspm_static/setup/index.php 先頭付近

PHP:
// 言語設定
mb_internal_encoding('UTF-8');
mb_language('ja');

の後に

PHP:

を追加してみて下さい。
修正済みファイルを使用している場合、文字化けしていても最後までセットアップを行えれば改造パックは問題ありません。

アガルタ 08-07-21 (月) 8:02

SO様
適切でかつ丁寧な回答ありがとうございます。
おかげで何とかなりそうです。

また何かありましたらご指導のほど、よろしくお願い致します。

Comment Form
Remember personal info

Trackback+Pingback:1

TrackBack URL for this entry
http://blog.seo-so.com/archives/27/trackback
Listed below are links to weblogs that reference
Yomi-Search(PHP)modified 静的表示化+キャッシュ+完全HTML化 改造パック from SEO-SO blog
Trackback from SEO、ホームページ 情報|Drupalブック 08-07-21 (月) 1:06

Yomi-searchの静的HTML化...

(more...)

Home > Yomi-Search(PHP)modified改造 > Yomi-Search(PHP)modified 静的表示化+キャッシュ+完全HTML化 改造パック

Feeds
メタ情報

Page Top