java使い、intvalの仕様に驚くで少しかきましたが、
nucleusの本体を少し改造しました。

改造した箇所は2箇所です。
1つめは、/item/xxx/catid/xxというリンクを生成しなくしました。
2つめは、/item/123ABC/や/item/333/hogehogeのような、
ぼくの意図しないurlに対するリクエストにレスポンスを返さないようにしました。

» Read More

ロボットからくるアクセスを、アクセスログを確認していると
/item/10/catid/8や、
/item/55/catid/index.php/blog/1とか変なリクエストが来ており
しかもそのリクエストに200でちゃんとレスポンスを返しているんです。

ぼくの意図しない、不思議なurlでサーチエンジンに認識されると気持ちが悪いので
いろいろ調べてたんですが、脱線してphpの変なところに気がつきました。

» Read More

NP_TagEXをFancy URLモードで使うには、
http://wa.otesei.com/さんのNucleus プラグイン NP_TagEX試してみてますに書かれている
ように、.htaccessとtagファイルを作る必要があります。

lighttpdだと、tagファイルを作るのは一緒ですが.htaccessは作成できないです。
しかーし、lighttpd.confにて他のfancyurlの定義と同様にtagを定義すると正常に動きました。

fastcgi.map-extensions = ("/item" => ".php",
"/archive" => ".php",
"/archives" => ".php",
"/blog" => ".php",
"/category" => ".php",
"/tag" => ".php",
"/page" => ".php")
apacheの場合だと.htaccessでrewriteを制御できるのですが、
lighttpdの場合、ドキュメントがないので自分で考える必要があります。

現状item_10.htmlとかのurlをリライトするやりかたは分かったんですが、
エントリとカテゴリに別名をつけるやりかたを検討中です。

あと、サーチエンジンからのリンクとかもあるので、
今までのfancyurlでのURIはcustomURLに移行せずに活かしたいのです。

こういう今までのしがらみとか考えると、
仕事でやってるシステムって本当に繊細なもんなんだなぁ。と思います。

なお、テスト環境のlighttpd.confの抜粋はこんな感じです。
item_10.htmlでなくても、接頭語としてitemが付いてれば
item_example.htmlとかも使えます。

» Read More

greasemonkeyでnucleusの管理画面をいじってみました
公開していたgreasemonkeyのjavascriptですが、
"blockquoteボタンを押すと、それまで書いてた記事が消えてしまう"
という事象が発生していました。

これでは使いものにならん。と思い、いろいろ調べてたところ
大抵、greasemonkeyからprototype.jsを使いたい人っているのでは?と思い
google先生に聞いてみたところヒットしました。


Greasemonkeyでprototype.jsやscript.aculo.usを使う方法


なんでも、

  • 外部ライブラリがロードされるまで待ち続ける制御構造

  • unsafeWindowを経由して外部ライブラリにアクセス



がポイントだそうですが、よくわかりません...

ということで、仰せのままに写経してみたところ、ちゃんと動くようになりました。

そろそろNucleus CMS Japanに、アピールしようかなぁと考えてます。

nucleusadmin.user.js

» Read More

blockquoteタグを手入力が面倒なので、なにかないかなぁ?
と考えていたところ、NP_ToolbarButtonsというプラグインがあるみたいです。

ただ、アーカイブがないのと、greasemonkeyでできるんじゃないか?
というアイデアも湧いたので、javascriptの勉強もかねてgreasemonkeyしてみることにしました。

できたのは、こんなコードです。javascriptはまったくのビギナーなので、
ユーこうした方がクールだよ。とかあったら教えてください。

nucleusadmin.user.js

あとライセンスですが、一部prototype.jsから流用してるので、こういう場合はMITライセンスになるんでしょうか。

» Read More

NP_AmazonNP_SEOSitemapsプラグインをインストールしました。

NP_Amazonの方はxml.phpが必要ということと、
アイテムで使うときとスキンで使うときのオプションの区切り文字が違うということに
注意が必要です。

NP_SEOSitemapsは、webサーバがlighttpdなので設定にちょっと頭を使いました。

url.rewrite = ("^/blog/sitemap.xml" => "/blog/index.php?virtualpath=sitemap.xml")

以前のblogへのスパムコメントがはげしいため、
oranblueもあわせてNP_Captchaを導入しました。

とはいえ、インストールするだけ。
プラグインが有効かどうかはログアウトしないと確認できなかった事で1日悩んでたことは内緒です。

2007/03/20

lighttpd この記事をクリップ!

今のサーバはlighttpdで動いてます。
ちょっと前は流行ってたみたいですが、今でも人気はあるのか、よくは分かりません。

サーバの設定がapacheと違うので、設定にちょっと苦労してますが、
以下のサイトでfancyurlを使うやりかたを、教えてもらいました。
[餅] 餅空 blog / Nucleus支店

ただ、lighttpdと関係あるのかはわかりませんが、
fancyurlは日本語のヘルプで書かれているやりかたでは動作しませんでした。
fancyurls.config.phpを見ると、fancyurls.confih.phpをindex.phpでincludeしろとあります。
言われたように設定したら、ちゃんと動きました。
ちなみに、ちゃんと動かないときはどのリンクを押してもメインのページが表示されてました。