気まぐれメモランダム / でたらめフィードバック

タグ: サーバー

サーバー変数"REQUEST_URI"の参照はIISでURL書き換えを利用するときは避ける

公開: / 最終更新日:
日本語の情報がほとんどないようなのでメモ。次の環境でWebアプリケーションを動作させているとき:Windows 7IIS ExpressPHPURL書き換え設定ありサーバー変数"REQUEST_URI"設定値にURLエンコードされた値が含まれていると、その値はデコードできない値になります。たとえばURLに「作品("\u4F5C\u54C1)」という文字列を含めたとしましょう。UTF-8でURLエンコードすると次の表現になります:%E4%BD%9C%E5%93%81しかしサーバー変数"REQUEST_URI"に設定される値は次になります:%8D%EC%95i……元の値は影もかたちもありません。つまりここからの値の取得は…
エントリを表示

BoothCMSに移行

公開: / 最終更新日:
ブログ環境をppBlogからPicoに移行してから早四年、移行目的でBoothCMS を開発・公開してから早五ヶ月。ようやく気まぐれメモランダムを Pico からBoothCMSに移行しました。いやあ、テンプレート書き換えたりコンテンツファイルを変換したりたいへんだったんですよ……って、単になまけていただけですが。ご覧になる方には違いはほとんどないように見えると思いますが、今後使い勝手などを向上させていきたいと思いますので、のんびりとお付きあいいただければ幸いです。また表示や挙動におかしな点がありましたらお知らせいただければありがたいです。引き続きよろしくお願いします。2022 年 9 月 10 日追記:
エントリを表示

フラットファイルCMS"BoothCMS"公開

公開: / 最終更新日:
PHPで作成したフラットファイルCMS"BoothCMS"の初回プレビューリリースをGitHubで公開しました。https://github.com/DBC-Works/BoothCMSBoothCMSはPico(特に初期バージョン)の強い影響下にあります。管理機能はなく、コンテンツはファイルとして作成してWebサーバーに反映させることで公開します。標準状態のPicoにない特徴は次になります:テンプレートをコンテンツごとに指定可能一覧表示制御機能組み込みのFeed(Atom Syndication Format) /Sitemapsサポートサーバーサイドとクライアントサイドのハイブリッドレンダリング(これで一覧の追加読み込みを実現しています)…
エントリを表示

Pico Tags Pluginでタグクラウド用の情報を生成する

公開: / 最終更新日:
なんかいろいろやりはじめてサイト更新が止まらなくなりましたが、たぶんこれで打ち止め。Pico Tagsに手を加えてタグクラウド用の情報を生成させてみます。やりかたはかんたん。ただ事前に「Pico Tags Pluginを効率化する」で説明した効率化対応を行っておいてください。まず集計を保持するメンバー変数を定義します:(…)次に、get_pagesメンバー関数の末尾に次のコードを追加します:(…)最後にbefore_renderメンバー関数の末尾に次を追加します:(…)これでタグと使用数の連想配列がテンプレートに渡されます。json_encode関数の呼びだしはタグクラウド生成をJavaScriptで行う想定のものなので、…
エントリを表示

Pico Tags Pluginを効率化する

公開: / 最終更新日:
このブログで採用した軽量CMSPicoソースを眺めていたら、タグ付けに使用しているプラグイン、Pico Tagsの処理を大幅に効率化できることに気づきました。プラグイン側でファイルを読みこんでヘッダーを解析していますが、わざわざそんなことをする必要はないのです。ただしPico側に少々手を加えなければなりません。以下その作業内容。まず/lib/pico.phpの248行に次を追加します:(…)次に/plugin/pico_tags.phpに次の関数を追加します:(…)最後に/plugin/pico_tags.phpのget_pages関数で記述されているforeach文を次のかたちに変更します:…
エントリを表示

Pico移行にまつわるあれこれ

公開: / 最終更新日:
正規表現による置換と使い捨てPowerShellスクリプトと手作業による力技でデータの移行を済ませました。コメントもサルベージして、旧ブログへのリンクも新リンクへのそれに更新。iOSからのアクセスが意外にあるのでなんちゃってレスポンシブ対応も行いました。旧ブログへのアクセスの新ブログへのリダイレクト設定が残っていますが、まあこちはぼちぼちと。メモとして、移行に際して気づいた点を以下に。

excerptの簡易日本語対応

Picoは一覧表示用にexcerpt(抄録、抜粋)を作成する機能を実装していて、$config['excerpt_length']の設定値で長さを調整できますが、これは空白(U+0020)で区切って数えた要素数の上限の設定なので、そのままでは日本語には向きません(空白が含まれないと全文出てしまう)。処理自体はlib/pico.phpのlimit_words関数で行っているので、対応するにはこの関数を変更します。私は手抜きで空白で分割する(explode関数を呼びだす)前に句読点のうしろに空白を挿入するようにしました。…
エントリを表示

Picoに移行

公開: / 最終更新日:
このところしばらく開発の停滞したppBlogを使い続けたものかどうかぼんやりと考えておりました。ウェブログの夢は儚く消えかけ、ブログサイト構築用のソフトはどれもずいぶん影が薄くなり、移行するにもいい手がないなあと思っていたのですが、先日ふとしたきっかけで軽量 CMS の世界はまだまだ豊かであることを知り、思い切って移行を決意。目先の変わったことをやりたかったという話もありますが。移行対象 CMS として採用したのはPicoMarkdown 書式の採用、コンテンツの更新はファイルアップロード形式とシステムから外部化してしまう割り切りの潔さ、プラグインが比較的充実、といったあたりが採用の決め手になりました。もっとも似たようなコンセプトの CMS はけっこう出てますが。…
エントリを表示

lighttpdバージョンアップの落とし穴

公開: / 最終更新日:
ふと魔がさしてlighttpdのパッケージをアップデートしたら起動しなくなってあわてるはめにおちいりました。調べてみると原因は設定ファイルの構成が大幅に変更されたため。うーん、メジャーバージョンアップでもないのにそんなことしないでほしいなあ。ちなみにどんなふうに変更されたかといいますと……変数定義が増えた。(たぶんこのせいで古いバージョンの設定ファイルでは起動しなくなった)lighttpd.confひとつだった設定ファイルが複数に分割された。たとえばモジュール読みこみ設定はmodules.confで指定するようになった。FastCGIの設定をconf.d/fastcgi.confで指定するようになった。…
エントリを表示

ppBlog on lighttpd

公開: / 最終更新日:
引越し後の「気まぐれメモランダム」はApacheではなくlighttpdで動いております。なにしろ使うのはじめてなものでけっこう動かない状態を放置していました。アクセス権やCGIの設定はまあApacheとlighttpdの互換性の一般的な注意事項になるのでしょうが、ちょっとこまったのがURL書き換えの設定。けっきょくこれはppBlogパッケージ同梱の.htaccessを参考にlighttpd.confにurl.rewrite-if-not-fileを追加して対応しました。いちおうこれで問題なくなったように見受けられますが、おかしなところに気づかれた方はお知らせいただければ幸いです。あ、ppBlogってPHP-mbstringがないと動かないんですね。動かす前にちょっとはまりました。…
エントリを表示

Pick up work

最近のエントリ

アーカイブ

ブログ情報