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

ダウンロード:yspm_static1.2.1.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/05/29
-----------------------
Yomi-Search(PHP)modified Ver1.5.8に対応
静的URLのカテゴリの存在チェック追加

2009/05/03
-----------------------
ver1.2.0
Yomi-Search(PHP)modified Ver1.5.5~1.5.7に対応
XMLサイトマップ作成機能追加
完全HTML化のタイムアウト対策で簡易バックグラウンド処理に変更
ユーザー再構築(HTMLファイル作成)追加

2008/04/26
-----------------------
ver1.1.0
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:46

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様
適切でかつ丁寧な回答ありがとうございます。
おかげで何とかなりそうです。

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

alice 08-09-14 (日) 19:43

こんばんは。
Yomi-Search(PHP)modifiedサポートサイトではお世話になりました。ありがとうございます。
さて、今回、こちらの静的パックを導入させていただいたのですが、テーブルの追加でつまずいてしまいました。
データベースに直接アクセスして、下記のようにしたのですが、
エラーがでてしまいました。

mysql> create table msys_cfg_static;
ERROR 1113 (42000): A table must have at least 1 column
mysql>

おそらく、テーブル名のあとに列数、データ型を加えてやらないといけないと思うのですが、どう記述していいかわかりません。
試しに、適当な列数とデータ型を付け加えたら追加ができました。

お手数をおかけしますが、よろしくお願いします。

MAMI 08-10-07 (火) 11:48

SO様

はじめまして。PHPは初心者でして見当違いの質問でしたら大変申し訳ないのですが、
ランキング画面からもアクセス集計したいため、template/rank.html内の「$jump_url =」の2行の下の1行のほうに「//」を追加したところ、ランキングが静的リンクにならなくなってしまいます。これは仕方の無い事なのでしょうか。
また、以前にazuさんが質問されたように、私も人気ランキング、アクセスランキング、キーワードランキングのページが表示されません。サーバーは「.htaccess」も「mod_rewrite」も使用可能なのですが…。

りる 08-10-11 (土) 12:54

本サーバーにあげる前にXAMPP上でテストしてみたところです。
質問が何点か。
(1)セットアップが終了したら何をすればキャッシュができるのか。
トップページはyomi.phpで、これにアクセスしてもキャッシュができないような気が(実際できていない)設定はもちろんすべて有効になっている。
(2)静的化画面で「完全HTML化」を行うと「http://~/index.php?rebuild=allにアクセスできるか確認してください」というエラー画面が出ます。パスはあっているのですが、yomi.php以外にはアクセスできない模様(htaccessはありません)。どうすればHTML化できますか?

kashima 08-10-20 (月) 18:53

SO様
yspmを使わせて頂いておりますkashimaと申します。
ご質問をしたく、書込みました。
インストールもうまく行き、エラーもなく作動するのですが、私の使用目的の場合に問題があり初心者なので自分で解決できません。お力をお貸し頂ければ助かります。
環境設定(登録処理関連)の中で紹介文の文字数を1000文字程度にしたいと思い1000と入力し設定しました。次に管理人による新規登録で紹介文に200文字程度入力し登録するのですが、登録内容を見てみると90文字程度しか表示されず、後の文字が切れてしまいます。登録時にはエラーメッセージも出ず、すんなり登録は出来ます。何処か設定しなければいけないのでしょうか。お教え願いたいと思います。
サーバの環境
・設置サーバー  NSFレンタルサーバー
・YOMIバージョン Yomi-Search(PHP)modified Ver1.5.3
・PHPのバージョン  PHP4
・My SQLのバージョン  MySQL4
・文字コード        UTF-8
・MyAdminも設置しています。
他にも必要項目があればお聞き下さい。
では、宜しくお願いいたします。

SO 08-10-31 (金) 4:39

MAMIさんへ
この改造パックには、登録サイトへのリンクを直リンクにする改造は含まれていません。サイト内の静的化のみです。

SO 08-10-31 (金) 4:51

りるさんへ
XAMPPはデフォルトでRewriteEngineは無効になっています。
[xampp/apache/conf/httpd.conf]ファイルの
[#LoadModule rewrite_module modules/mod_rewrite.so]
の「#」を消して、サービスを再起動してください。
あと、[.htaccess]は、ご自信で設置してください。
サンプルは配布ファイルに入っています。

SO 08-10-31 (金) 4:54

kashimaさんへ
紹介文の文字数は、改造パックでは関与していません。
フォーラムに文字数を増やす質問があったと思うのでそちらを参考にして下さい。

kashima 08-10-31 (金) 13:10

SO様
お返事ありがとうございます。
アドバイスの様にフォーラムを見てみたいと思います。
今後もyspmを使わせて頂きます。
宜しくお願いします。
ありがとうございました。

TONG 08-11-20 (木) 16:23

SO様

yspm_static1.1.0.zipを使用させていただき有難うございました。
設定が完了し、Yomi-Search(PHP)にて静的ページが問題なく作成できました。

現在、新規登録など実際の動作を確認しています。
そこで1つ質問があります。

登録データの[修正・削除]を実行した場合、
Mysqlのデータベースは更新されますが、HTMLページには反映されません。

管理室メニューから
[静的表示化設定]-[完全HTML化の再構築]から差分再構築を実行しないと
HTMLが更新されません。

元々このような仕様でしょうか?
修正および削除を実行後、即HMTLページの更新を希望する場合
どこの設定を変更するのでしょうか?
それとも何か間違ったインストールをしているのでしょうか?

お気づきの点があればご指摘いただきたくお願い申し上げます。

「サーバー環境」
.htaccess、
RewriteEngine
は問題なく、
各バージョンは以下のとおりです。
PHP Ver 4.3
Yomi-Search(PHP)modified 1.5

ご多忙とは存じますがご回答のほど宜しくお願い申し上げます。

buri 09-02-28 (土) 12:04

SOさん、お久しぶりです。
Yomi-Search(PHP)modifiedのフォーラムでお世話になったburiです。
とは言っても、もう一年前になりますが....
あれから忙しくなり、Yomi-Search(PHP)modifiedのカスタマイズもできなくなり放置状態でしたが、また最近時間に余裕が出て再開して情報採集しながら改造している最中です。

しかし、この静的表示化改造パックを利用させて頂いてますが、最高ですね。
説明も解りやすく、そのおかげで良いサイトが作れそうで、
余り嬉しくてお礼したくカキコしました。

ホントに良いものを提供してくれて、ありがとうございます。
最近は忙しそうで更新は無いようですが、今後も宜しくお願い致します。

SO 09-03-15 (日) 20:14

buriさんへ
お久しぶりです。
もう1年たつのですか…
Yomi-Search(PHP)modifiedも1.55になってますね

TONGさんへ
今更ですが、仕様です。PHPはバックグラウンド処理ができないので、ユーザーの登録、修正時の再構築は省きました。
追記:ver1.2.0で対応しました

たかし 09-04-16 (木) 19:05

SOさん、初めまして
たかしといいます
SOさんのhtml静的化スクリプト使わせていただいています。ありがとうございます。

ここで質問なんですが、静的html化済の状況で
rssを静的化するにはどうすればいいですか?
ヤフーサイトマップやgoogleツールに登録したいと思っています

SO 09-04-16 (木) 23:29

たかしさんへ
ファイルを書き出すのではなくアドレスを変換するだけですが、静的に出来ます。
.htaccess

CODE:
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^rss_(new|update)\.xml$ rss/rss.php?mode=$1 [L]

これで
「rss_new.xml」 「rss_update.xml」
でアクセスすれば、rssが表示されます。
うまくいかない場合は「RewriteRule」などで検索して調べてください。
ちゃんと表示されたら、「template/top.html」のRSSのURLも変更すると良いかもしれません。

たかし 09-04-17 (金) 0:47

soさん、こんばんわ
たかしです

ご指導ありがとうございます。
申し訳ないです。
やってみます。ありがとうございます

kazu 09-04-21 (火) 21:03

SO様はじめまして
この度ヨミサーチ(PHP)modified 1.5.6と
yspm_static1.1.0を使用させて頂きましたkazuと申します。

無事設置できたのですが、どうしてもわからない部分があり
質問させていただきます。

カテゴリ設定>参照設定なのですが

01カテゴリに
サブカテゴリ8個まで設定したく、
そのサブカテゴリページには同じく01/01~01/08までの
リンクを張りたいのです
01/01~01/08の参照設置欄に
&01/01/&01/02/&01/03/&01/04/&01/05/&01/06&01/07&01/08&
としたいのですが何度入力しても、
&01/01/&01/02/&01/03/&01/04/&01/05/&&
となってしまい、01/06~01/08のページに
リンクが反映されず困っております。

お忙しいところ申し訳ありませんが
お助けください。

以前テスト(ローカル)でヨミサーチ(PHP)modified 1.5.2と
yspm_static101を使用させて頂いたのですが
ローカルで設置した時はこのような症状は起きませんでした。

どうぞよろしくお願い致します。

SO 09-04-22 (水) 23:49

kazuさんへ
管理画面での参照設定がうまくいかないのなら、改造パックは関与していません。
「/」が抜けているから登録できないのでは?
&01/01/&01/02/&01/03/&01/04/&01/05/&01/06&01/07&01/08&

&01/01/&01/02/&01/03/&01/04/&01/05/&01/06/&01/07/&01/08/&

kazu 09-04-23 (木) 0:05

SO様ありがとうございます。
スラッシュが抜けていたことに気づきませんでした;;
上手く表示できるようになりました。

本当になんとお詫びをすればよいやら・・
申し訳ございませんでした。

そして気づかせて頂き本当にありがとうございました。

じろう 09-05-04 (月) 23:59

すごくナイスなものを提供してくださって有難うございます。

早速DLして設置させて頂きました。

ですが、完全html化をすると、エラーがでます。
yspm_static120.zipでは、バックグラウンドで実行のメッセージが表示されましたが、htmlは構築されませんでした。
yspm_static110.zipにして実行してみたところ、
上記りるさんと同じ
index.php?rebuild=all にアクセスできるか確認してください とエラーがでます。

LoadModule rewrite_module modules/mod_rewrite.so は問題なく

.htaccessもサンプルを設定しております。

PHP Version 5.1.6
Yomi-Search(PHP)modifiedバージョン1.5.7

ご多忙と存じますが、よろしくお願いいたします。

じろう 09-05-05 (火) 0:41

じろうです。

先程、index.php?rebuild=all にアクセスできるか確認してください とエラーがでます と書込しましたが、

そのままURLをindex.php?rebuild=all としてアクセスしたらhtmlファイルができました。

このような症状の場合、どうすれば正常に復帰するでしょうか?

重ね重ねよろしくお願いいたします。

SO 09-05-05 (火) 1:25

じろうさんへ
環境設定「トップディレクトリのURL」の設定を確認して下さい。
httpから始まるURLを作るのにこの設定を使っています。

http://www.○○.com/

となっていれば

http://www.○○.com/index.php?rebuild=all

として再構築をリクエストします。
注意書きにもあるように必ず「/」で終わるようにして下さい。
Ver1.1.0 Ver1.2.0 ともに同じ仕様です。
Ver1.2.0では、実行結果を待たないので、静的化設定の実行ログで確認してくさい。作成ファイルが多いと処理時間が数分かかる場合があります。
初めは、対象モードを少なくするか、XMLサイトマップ作成など軽負荷な処理でテストして下さい。

じろう 09-05-05 (火) 1:50

じろうです。

早速の返信、恐縮です^^

URLに関しては正常に設定されております。

書込にはドメイン部分を削除してindex.php?rebuild=all だけ書いてしまいましたm(__)m

本来は、
http://ドメイン/index.php?rebuild=all と表示されております。

Apacheの設定が悪いのでしょうか・・・
レンサバでは確かに正常に動作します。。

心当たりありましたら、よろしくお願いいたします。

じろう 09-05-05 (火) 2:20

じろうです。

状況を整理すると

管理ツールから、完全html化するとエラー発生。
v.1.1.0の場合
http://ドメイン/index.php?rebuild=all にアクセスできるか確認してくださいとメッセージが出現
v.1.2.0の場合
完了と表示されるが、htmlは作成されていない

その後、http://ドメイン/index.php?rebuild=all をブラウザのアドレス欄に入力すると、htmlの構築が完了する

セットアップ時の指示通り
.htaccessファイルは設置済み

環境
自宅サーバー
CentOS 5.3
Apache 2.2.3
PHP Version 5.1.6

PHPの設定ファイルはデフォルトのまま
Apacheに関してもバーチャルを設定しただけで、ほとんどデフォルト設定
LoadModule rewrite_module modules/mod_rewrite.so はコメントアウトされていない

こんな感じです。
よろしくお願いいたします。

SO 09-05-05 (火) 3:29

じろうさんへ
>Apacheに関してもバーチャル
スクリプトではポート番号80でリクエストするようにしているので恐らくこれが原因なんじゃないかと思います。
サーバーの構築は詳しく無いですが、テスト環境(windows XAMPP , ローカルUbuntu, レンタルサーバー)でテストしてますが今のところ不具合はありません。
可能な限り様々なレンタルサーバーで運用できるように試行錯誤しています。

じろう 09-05-05 (火) 22:19

じろうです。

解決しました。

DNSの参照が原因でした。

LAN内に設置しているサーバーのため、自サーバーに割り当てているドメインにクライアントPCからアクセスする場合は自前のDNSを参照しているので、問題なかったのですが、

今回の場合、サーバー自信がドメインに参照するパターンで、その場合の参照先はルーターとなっておりました。

ルーター経由のDNS参照の場合、グローバルIPが返されるわけでして、アクセス不能となっておりました。

私の設定ミスにおつきあい頂きまして誠に申し訳ありません。

また、非常に助かりました。

ありがとうございます。

buri 09-05-21 (木) 12:10

SO様、お久しぶりです。
バージョンした、yspm_static1.2.0 も中々良く、早速、使わさせて頂いてます。
Yomi-Search(PHP)modifiedのカスタマイズも終了段階になり、最後のテストしている最中ですが、ひとつ問題があり、2〜3日間、解決方法をググって検索して探しましたが、見つからず悩んでおり質問しました。

YSPM_Static自体は何も問題無いのですが、
今回、作成しているサイトへ、自作404.htmlページを表示させようと.htaccessに
ErrorDocument 404 /error/404.html
を追加し、テストしたところ
HTTP/1.0 404 Not Found
が表示され、自作404.htmlページされません。
そこで色々悩み、YSPM_Staticで.htaccessに追加する
DirectoryIndex index.html index.php
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
を削除し、
ErrorDocument 404 /error/404.html
のみでアップロードしたら、自作404.htmlページが表示されました。
しかし、そのままではYSPM_Staticの機能が動作しなく静的化に問題が出るとお手上げ状態。
もし良い方法ありましたら教えて下さい。
お忙しいとは思いますが、よろしくお願い致します。

SO 09-05-22 (金) 0:53

buriさんお久しぶりです。
404.htmlを表示させるには、index.phpの最後の部分で
自作404.htmlを読込んで表示させてください。

PHP:
exit('HTTP/1.0 404 Not Found');

PHP:
require 'error/404.html';

こんな感じで表示できると思います。
基本的に、ファイルが見つからない場合はindex.phpにアクセスが流れるので、「ErrorDocument 404 /error/404.html」ではうまく行かないと思います。

buri 09-05-22 (金) 13:57

お忙しい中での返信、ありがとうございます。
中途半端な私では、いつまでも解決できず悩んでたと思うので質問して良かったです。
まさか静的化の index.php の中だとは気がつきませんでした。
もう .htaccess の設定ミスだと決め付けて、そこだけに集中していたので....
おかげで今まで悩んでいたのが、馬鹿らしくなるほど解決してしまいましたよ。

ちなみに
require 'error/404.html';
ではエラー表示されたので 404.html ファイルではなく 404.php ファイルに変更して
require 'error/404.php';
としアップロードしたら成功しました。
良く解りませんが、これは .htaccess の設定と関係あることなんですね。

あと一応、自作403.500ページも追加したく
header('HTTP/1.0 404 Not Found');
require_once 'error/404.php';
exit;
header('HTTP/1.0 403 Forbidden');
require_once 'error/403.php';
exit;
header('HTTP/1.0 500 Internal Server Error');
require_once 'error/500.php';
exit;
と入れてみたのですが、おそらく間違ってますよね。
文法的には不安で今イチ自信がない私なので、指摘して頂けると幸いです。

あと今回、この404ページの件で検証した結果、気になる事がありました。
それはカテゴリ設定していないページを意図的に表示させると 404 で表示されず、そのまま表示される不具合です。
しかし、これはyspm_staticの静的化問題では無く、本体側だと思いますので、本体側フォーラムのバグ報告へ報告しておきます 。

SO 09-05-23 (土) 1:43

buriさんへ
エラーの件はよく判りませんが…
ステータスコードは404以外をindex.phpに記述しても意味がないと思います。403、500は.htaccessに書いて下さい。

>それはカテゴリ設定していないページを意図的に表示させる
>と 404 で表示されず、そのまま表示される不具合です。
カテゴリが無い場合404を返せれば親切だとは思いますが
動的の場合は「yomi.php」と言うファイルが存在しますので
不具合では無いかと思います。
静的化はちゃんと404を返したほうが良いのでしょうがそこまで考慮していません。
追記:ver1.2.1で対応しました。

カテゴリの存在チェックを入れるなら
「yspm_static/yspm_static.class.php」の「function parseUri($uri)」(270行目付近)

PHP:
if (!empty($this->_get['path'])) {
            $this->_get['path'] = str_replace('_','/',$this->_get['path']);
            if (substr($this->_get['path'] , -1 , 1) != '/') {
                $this->_get['path'] .= '/';
            }
       }

PHP:
if (!empty($this->_get['path'])) {
            $this->_get['path'] = str_replace('_','/',$this->_get['path']);
            if (substr($this->_get['path'] , -1 , 1) != '/') {
                $this->_get['path'] .= '/';
            }
            //pathチェック
            $query = "SELECT id FROM {$this->_db->db_pre}category WHERE path = '{$this->_get['path']}'";
            $rowset = $this->_db->rowset_num($query) or $this->_db->error("Query failed {$query}" . __FILE__ . __LINE__);
            if (empty($rowset)) {
                $this->message->add("[ {$this->_get['path']} ] カテゴリがありません。");
                return false;
            }
       }

これで存在しないカテゴリは404を返せます。

buri 09-05-23 (土) 14:40

SO様、素人なので言葉足らずな所もあり、スミマセンです。

>ステータスコードは404以外をindex.phpに記述しても意味がないと思います。403、500は.htaccessに書いて下さい。

やはり、そうしないと駄目なんですね。解りました。
中途半端な知識で不安だったので聞いて良かったです。

>動的の場合は「yomi.php」と言うファイルが存在しますので
>不具合では無いかと思います。
>静的化はちゃんと404を返したほうが良いのでしょうがそこまで考慮していません。

これは本体側のフォーラムでも、mitsuki様に同じ様な事を云われました。
何となく自分でも解っていましたが、ただ白ページに 404 Not Found と表示されるよりは、
404ページから、そのままページ移動できる方が使い勝ってが良いなと思い、今回導入しようとテストしてましたが、知識不足で諦めようかと思ってた所へ、

>カテゴリの存在チェックを入れるなら
〜省略〜
>これで存在しないカテゴリは404を返せます。

のカスタム方法が....
まさに自分が、やりたかったことです。
テストもしましたが、問題無く表示されました。
おかげで次の段階へ進めて行けそうです。

なお今回は、私の言葉足らずなコメントにも理解して頂き、ホントにありがとうございます。
なるべく、自分で解決できるように努力はしますが、又なにか問題が出た時は、お手数おかけしますが、よろしくお願い致します。

taco 09-06-02 (火) 2:33

お世話になっております。
この度は私自身プログラムの知識が乏しく、知り合いのプログラマーにも聞いてみたのですが解決できなかったため投稿致します。
Yomi-Search(PHP)modified Ver1.5.8
yspm_static1.2.1 です。
どうかご協力下さいませ。

さて、現在1つのレンタルサーバに2つのドメインを入れて、同分野ながらも多少毛色の異なる2つのサイトを製作中です。
この2つのサイト(aaa.com/bbb.com)のリンク集としてリンク登録先は同様になってもよいので、SEOにも効果の高いyomiサーチを別々に2つ導入(aaa.com/yomi.php , bbb.com/yomi.php)したいと思っているのですが、データベースが1つしか借りられない環境の為、静的化の書き出しでつまずいております。
環境設定でaaa.comを設定し、静的化ファイルとして書き出されたhtmlをbbb.comにコピーして利用したいと考えているのですがその際に書き出されたURLに不具合が出るのです。

環境設定の以下の項目を

「サーチエンジントップのURL」→../yomi.php
「管理者のホームページURL」→../yomi.php

「../」とすることでこの設定項目はaaa.comにもbbb.comにもうまく対応できたのですが
しかし、「トップディレクトリのURL」については
「http://~」の形で設定しなければ静的化の書き出しができないので、例えば「http://aaa.com」と設定をして書き出しをするとhtmlのホームへの戻り先は当然「aaa.com」になります。
※この時点ではデータベースにはaaa.comが設定される

次に「http://bbb.com」を設定をして書き出したhtmlのホームへの戻り先は「bbb.com」になります。
※この時点でデータベースはbbb.comに変更される

つまり、1つリンク先を登録するたびにいちいち設定を変えて2回書き出し作業をしなければならないため、1回の作業でこの「aaa.com/bbb.com」の両方で使える設定にしたいのです。
1つのデータベースで違った複数のyomiサーチをインストールするにはデータベース設定のプレフィックスを書き換えてあげればよいのは理解しております。
しかしこの度は1つのデータベースから書き出されたファイルをドメインの違うディレクトリでも使用できるようにしたいのです。

この部分を「a href="../yomi.php」のようにそのサイトにあったURLで書き出しするようにはできませんでしょうか?
この書き出しができませんと、設定を何度もし直して書き換えを行うか、あるいは生成されたhtmlを1つずつ開いて書き直さなければなりません。

上記のように「../」という相対パスで表示されるようになるか
または、admin.php(html),static_cfg.html,config.htmlあたりに改造($_SERVER['REQUEST_URI']とか「get_url」とか?)を施して書き出しをそのサイトのものになるように無設定にしたいのです。
ご協力のほど何卒よろしくお願い致します。
長文失礼致しました。

SO 09-06-02 (火) 5:56

tacoさんへ
ソースを直接書き込めない(自動で削除される)ので、ソースの部分は消しました。

まず、私にはtacoさんがやよろうとしている事が、SEOスパムに見えますがそういう認識はありますか?

それはさておき、書き出したファイルをコピーして使うのでしょうか?
色々試されているようなので、細かい事はおいといて
書き出すファイルを相対パスにするには、テンプレートの「$cfg['cgi_path_url']」を修正してください。
その部分を直接「../」としてしまえば、書き出されるものも相対パスになります。
ご指摘のとおり、再構築のリクエストにHttpから始まるドメイン付きのURLを使いますが、静的化改造パック内部では、ドメイン抜きの絶対パスを使っていますので、サブディレクトリなどで使わない限り、書き出されるファイルは使いまわせると思います。
しかし、書き出しは出来るでしょうが、そのような使い方では他に色々と不都合が出ると思いますので、自己責任でお願いします。

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