| 投稿者 | メッセージ | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
2007/09/09 NP_CustomURL-0.3.7 リリースしました ・リダイレクトの無限ループが起きるバグに対応 ・PreItemでpreg_replace_callbackをやめてdoItemVarを採用(コアのバージョンが3.3未満の場合は従来通り) 2007/10/06追記 1.タグのキーワードがカテゴリーよりも先に出現 2.キーワードと同名のカテゴリーが存在 という条件になった時にcatidが設定される というバグを発見しました この件については早急に対応したいと思いますが、待てない方はNP_CustomURL.phpの851行目あたりから始まる『// decode Customized URL』ブロックの中の『// category ?』、『// subcategory ?』の行のすぐ下のif文の条件に『&& !$exLink』を追加してください $exLinkはカテゴリー、サブカテゴリーよりも後にしか出現しないパラメーターの識別用なので、これを追加する事でこの問題は解消されます 2009/03/17 バグfix版アップしました http://ブログのURL/カテゴリー/サブカテゴリー/アイテム.html みたいなURLを生成できるプラグインです 実例 http://shizuki.kinezumi.net/NucleusCMS/Plugins/NP_CustomURL/NP_CustomURL2.html Nucleus的URLだと http://shizuki.kinezumi.net/index.php?itemid=266&catid=25&subcatid=34 FancyURLだと http://shizuki.kinezumi.net/item/266/category/25/subcatid/34 になります カテゴリ・サブカテゴリ・アイテムの「ディレクトリ名」や「ファイル名」は同一ブログ内で重ならない限り 自由に決められます 他にもブログのショートネームや member/メンバーのログインネーム.html でアクセスしたり出来ます ver.0.2.3から、「.htaccess」の書き方が変更になっています また、以前「index.php」に記述していた「$curl_blogid」の記述も不要になっています バージョンアップで使用される方は、気をつけてください 使い方 ダウンロードしたファイルを解凍して出来た「NP_CustomURL.php」と「customurl フォルダ」を Nucleus の plugins ディレクトリにアップロードしてインストールします まず
と書いた .htaccess ファイルを作成します 次に、index.php を編集します
見本の .htaccess と index.php を同梱してありますので、ファイル名を変更してそのまま使ってもOKです (.htaccessファイルは、Nucleus3.3に同梱のものと同じものです) NP_TagEX、各種ページスイッチ等のFancyURL化に必要なダミーファイルも必要ないので、トップディレクトリがすっきりします 詳しい使い方は wiki を参照してください 質問・要望・バグレポートなどはこのスレッド、もしくは http://shizuki.kinezumi.net/NP_CustomURL.html までお願いします 07-03-14 現在の最新バージョンは、0.3.7 です
最終編集者 shizuki [ 2009.03.17 (火) 19:37 ], 編集回数 27 回 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
複数ブログを運営する場合 通常Nucleusで複数ブログを運営する場合、index.php と同じディレクトリに newblog.php 等のファイルを作る必要がありますが、このプラグインを使用した場合、そういったファイルを作成する必要はありません ファイルを作らずに「ブログの新規作成」をした後、各ブログの設定画面の「URL」の項目をサブディレクトリで複数ブログを作るときの要領で http://ブロサイトURL/新規ブログのショートネーム/ の形で記述すれば、新規ブログにアクセスできます アクセスのための名前はこのプラグインの管理エリアで変更できますが、変更した際にはURLも忘れずに変更するようにしてください バージョン 0.3.0 以降を使用する場合、RSS、ATOM の URL は
となります。 なお、 0.3.0 で従来どおりの記述 (<%servervar(url)%>xml-rss2.php?blogid=n) を使用する場合は、『ノーマルの URL をリダイレクトする』のオプションを『いいえ』に設定してください (0.3.01以降を使用する場合は、このオプションが『はい』であっても大丈夫(のはず)です) また、rss2.xml 形式で配信する場合は、それぞれのスキンの名前を 「feeds/atom」「feeds/rss20」「feeds/rss10」にして置いてください それ以外の名前になっているとスキンが読み込めません rss、atom の仮想ファイル名は RSS2 -> rss2.xml RSS1 -> rss1.xml または index.rdf atom -> atom.xml としてあります これ以外の名前を使用したい方は、改造のポイントをがwiki に書いてありますので参考にしてください 最終編集者 shizuki [ 2006.10.13 (金) 22:11 ], 編集回数 1 回 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
アイテム・カテゴリのブログ間移動に対応していたつもりだったんですが、いつの間にか該当コードが抜け落ちていました ファイルは http://shizuki.kinezumi.net/NP_CustomURL-021a.html にアップロードしてあります アップロード先を複数にするとバージョン管理がしにくくなるとのご指摘を受けましたので、自サイト一本にしぼらせていただきました お手数ですがリンク先からのダウンロードをお願いします |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
この種のプラグインは以前から興味があったので、さっそく試してみました。 複数ブログ運用の場合「$curl_blogid」はどう記述すればいいのかなと 思いましたが、サイトのデフォルトのブログIDだけを指定しておけばいいのですね。 無事に設置を終えて、問題なく稼働しています。 使っていて感じたことですが、アイテム用URIのアクセスパスのデフォルト値を 自由に設定できれば便利と思いました。たとえば「%m%d-%itemid.html」とすれば 「0820-155.html」と出力するような感じをイメージしています。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
yama.kyms様
サブディレクトリ風に表示させるなら、デフォルトの「index.php」で
としておけば、それ以外のファイルすら必要ありません なので、例えばサブブログを100個作ろうが10000個作ろうが、「index.php」さえあればちゃんと各々のブログにアクセスできるはず(10000個のブログを作った場合は、きっとデータベースがものすごく重くなると思いますが)なので、インストールディレクトリの中にファイルやディレクトリを増やさなくていいのでFTPの時に見た目スッキリです
現段階でも$CONF['ItemKey']を書き換えることで、インストール後にPOSTするアイテムに関しては「kiji_123.html」とか「entry_345.html」に変更することは可能なんですが、インストール時に自動生成される(た)ものも、同時に更新されたほうがいいですよね? まずはプラグインオプションでの変更に対応したいと思います 日付使うのいいですね |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
ひとつ気になる点を見つけたので報告します。NP_CustomURLをインストールした 直後から、アクセス解析プログラム「NP_Analyze」によるログ表示画面で、以下のような エラーが多数表示されるようになりました。 > E.エラーページ 0 表示にはパターンがあって、何かページを表示すると同時にエラーが表示されている、 という感じです。しかし実際にブラウザで表示してみるとエラーと見られる表示は いっさいありません。表示上は特に問題はないように見えます。 これだけの情報だと手がかりがないと思いますので、何か別のアクセス解析プログラムを 併用してみるなどして、エラーが出るパターンをもう少し詳しく割り出してみたいと思います。 (他のサイトにもNP_CustomURLをインストールして試してみようかな?) |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
スミマセン これ、気づいてたんですが書くの忘れてました NP_Analyzeと同様の処理をするプラグインを作ってREQUEST_URIを記録したところ、RSSフィードにアクセスがあった時にNP_Analyzeがエラーとして表示していることが判ったんですが、なぜそうなるかまでの解析は出来てません NP_Analyzeのエラーページ判定をしているところ(511行目あたり)に、$_['REQUEST_URI']を調べて正しいリクエスト先へ割り振るようにしてやったらエラー表示は無くなったんで、その状態で運営してました で、ですね 2週間くらい経ったころからエラー判定のRSSリクエストがなくなりました なぜかは全く判らないんですが… なので現在引き続き調査中です |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
あれっ、そうなんですか。もしよければ書き換えについて具体的に教えていただけますか。 全ページにおいてエラーが出力されるこちらとは少し症状が違いますが、試してみたいです。 NP_Analyzeは久しぶりにアップデートされたばかりの0.531を使っているため、 511行あたりにあるはずの記述がたぶん違っていると思います。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
あ、そっか バージョンアップしてたんですね 0.531だと550行目からがエラー判定の部分になります で、551行目の
のところを
としてやると、何をリクエストしてきたかがテーブルに保存されます(エラーページの統計データがきちんと取れなくなりますが) で、この部分を
に書き換えて様子を見てたんです(RSSにアクセスしてエラー判定になる場合はブログIDを付加することで、元々RSSへのアクセスとして記録されるものと区別できるようにしました) それが2週間くらい経つと、ブログIDの付いたRSSの記録が出なくなったんで、首をかしげているところです |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
さっそく書き換えてみました。なるほど、今まで「e?0」としか出なかったところが 「e?0?/skins/default/images/arro」とか「e?0?/favicon.ico」とか出るようになりました。 e?0?/skins/default/images/arroってなんだろう。。。 0時をまわってログがリセットされたところなので、また明日確認してみようと思います。 もうひとつ気になる点を見つけました。 NP_Analyzeではログの一覧で表示されているページ名をクリックすると 実際にそのページにジャンプできるわけですが、そのURLが妙なことになってます。 http: //mysite.comhttp: //mysite.com/xxxxx/ というふうになってます。 (この掲示板のオートリンクを無効にするためhttp:の次に半角スペースを入れてます) |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
ついさっき、一つ思い当たることがあることに気づきました Apache のバージョンはいくつですか? 2.2.2 の mod_Rewrite にバグがあったんで 2.2.3 にバージョンアップしたんですが、多分そのころからおかしなエラーがなくなったような気がします バグ自体は mod_Rewrite の動作に影響するものではなかったはずなんで、たまたまかもしれませんが… おそらく mod_Rewrite が上手く動作せずに、存在するパスまで index.php に処理を渡してる状況で、ファビコンやスキンに表示されるイメージファイルへのパスを NP_CustomURL が解析した結果、「存在しないアイテム・カテゴリー」と認識してエラー画面を表示する処理に入ってるんだと思います URLがおかしくなる現象ですが、こちらでも確認できました ていうか、ここからジャンプ出来たんですね で、NP_Analyze を見てみると URL を出力している部分で、$past に '+' がわたっていないため、頭に $CONF['IndexURL'] を付け足してあるために起きる状況だと思われます ファイル内を見た限りでは、$past に '+' が渡されているのはスキンに記述したときのみなんですが、通常のFancyURL での運用時には発生しない状況なので、これは NP_CustomURL の不具合かと思われます Admonエリア内かどうかを判別するファンクションがあったように思うんですが、いまちょっと思い出せないんでもうしばらく待ってください もしくは、NP_Analyze.php の1249行目を
に書き換えて対処しておいていただけますでしょうか?[/code] |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
Apacheのバージョンは1.3.37です。ちなみにサーバはxreaです。 セーフモード稼働のサーバなんですが、そのへんは関係ないですよね? > NP_Analyze.php の1249行目 URLが正常に出力されるようになりました。が、対症療法なんですね。 他のサーバにもインストールして条件を変えて試してみるなどしてみようと思っています。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
えーと、エラー表示の件ですが /favicon.ico とか /skins/default/images/arrow.gif は存在してますか? もし存在しないならば、挙動としては「正しい」です 現状このプラグインはデータベースに存在しない名前を指定された時、404を返さずにエラーページを表示するようにしてるんで、htmlファイル(この場合はスキンですが)から呼び出されるべつファイルに対してでも、処理を渡された以上エラーページを返してしまいます なので、存在しないファイルを指定している部分を削除するか、指定されているファイルを作ってやるかすれば、なぞのエラーの大半は消えると思います もし存在してるとすれば・・・ やっぱmod_Rewriteの関係ですかねぇ 1.3.32から挙動が少し変わったらしいんで、その関係かもしれません ちょっと調べてみますね |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
調べてみました。 …。 これでした。すみません。 「arrow」と「allow」を間違えてました。というか、このGIFファイル使ってません。 スペルを直してアップロードし直したら、不要な矢印画像が多数表示されたので、 CSSから記述を外しました。おかげでCSSのデバッグができちゃいました。 これはこれで有用な仕様と言えるかも。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
そういえば存在しないURLだと404じゃなくてエラー画面になるよなぁ と思って、まるっきりカンで書いたファイル名があたっていたとわ この辺悩みどころなんですよねぇ テーブル内に無い時は404返した方がいいような気もするんですが…… デフォルトの名前変更できるようにしたことだし、この際404にしちゃいましょうか それから解析画面のURLの件ですが、ローカル環境でテストした結果、NP_Analyze.php の1241行目から1250行目の $url を設定してる部分が、通常の運用でも必要ない気がしてきました NP_CustomURL をインストールしていない状態で、URLモードをノーマルにした時とFancyにした時、それぞれNP_CustomURL をインストールした時で、1241行目から1250行目がなくても正しいURLを返すことを確認しました また私の環境だけかもしれませんが、サブディレクトリにNucleusをインストールした場合、NP_CustomURL をインストールしていない状態でも、URLモードをノーマルにした時とFancyにした時の両方で、URLが不正になってしまうバグまで見つけてしまいました(例えばhttp://localhost/インストールディレクトリ/index.php/インストールディレクトリ/nucleus/plugins/analyze/index.php?blogid=1 になっちゃいます) それと、NP_Analyze の作るリンクだと、メインドメインにNucleusをインストールしてある状態でサブブログをサブドメインで運用しているときに、サブブログへのアクセスでもメインブログのURLになっちゃうみたいです なので、NP_Analyze を NP_CustomURL に対応させる形にしたほうがいいと思います 具体的には、NP_Analyze.php の1238行目の
以上で対応完了です なんとなく根本的解決ではないような気もしますが…… |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
影響を受けない運用形態ですが(通常ディレクトリ運用)、こちらも1238行以降を書き換えてみました。 特に問題なく稼働しています。 ところでまた話変わりますが。NP_ContentsList には対応してませんよね? NP_ContentsListでリストを出してるところだけFancyURLsで出力されているので。 NP_ContentsList内では<a href="<%catlink%>">というような指定になるので、 この<%catlink%>のところを少し手を加える必要があるのかな?と思っていますが。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
ヘルプファイルも一生懸命書いたんで読んでやってください サイトのほうにも質問が来たんで記事にしました NP_ContentsList を NP_CustomURL に対応させる方法 NP_ContentsList 以外にも、自前でリンクを作ってる系のプラグインは全て改造が必要になります そのプラグインがリンクURLを生成し終わった時点で、
のように挿入してやればOK(のはず)です(上はカテゴリーのリンクの例) |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
ヘルプは気付いてましたが、すみません。最後まで読んでませんでした。 言い訳になっちゃいますが「バージョン履歴」が出てきたところで、情報はそこまでと思って 読み飛ばしてました。たった1ページなんで、最後までちゃんと読まなくちゃいけないですね。 まさしくNP_ContentsListの対応方法そのものが書いてありました。ありがとうございます! ※18時50分追記 http://shizuki.kinezumi.net/item_277.html こちらに書いてある手順はヘルプと少し違うようですが、ヘルプに書いてある手順で無事に実装できました。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
shizuki モデレーター ![]() 登録日: 2006.03.23 記事: 891 所在地: 西播磨 |
NP_CustomURL-0.2.2a いやぁ、書き直してる間に電柱の立替工事やら落雷やら色々あったんで、自分のサイトが上手く表示されない原因を解明するのに時間かかっちゃいました おそらくこれであろうという原因は、結局自分のコードにミスがあったためなんですが 今回のバージョンから、index.php に
は書かなくて大丈夫になりました 最終目標は
で動かすことです (動くには動くんですが、検索がおかしくなることがあります。対応策はあるにはあるんですが...)[/url] 最終編集者 shizuki [ 2006.08.31 (木) 14:13 ], 編集回数 1 回 |
|||||||||||||||||
|
|
||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
さっそく試してみましたが、複数blogスタイルで運用しているサイトで 一部のblogが表示されない状況を確認しました。 そのblogにアクセスすると、標準のblogが表示されます。 これらサイトは全体をNucleusで作ってあるので、そのblogにアクセスすると トップページが表示されてしまうという状況です。 異なるレンタルサーバ(xreaとさくら)の2つのサイトで確認しました。 正常に表示されるblogとの条件の違いについては現在調査中です。 Blogの短縮名やURLなど、設定条件はほとんど同じなんですが。。 とりあえずのご報告でした。 |
|||||||||||||||||
|
|
||||||||||||||||||
|
All times are GMT + 9 Hours
新規投稿: 不可 Powered by phpBB © 2001, 2002 phpBB Group |
||||||||||||||||||