ぼんやりと考えている人

ひろしまなおき (廣島直己)
名前: ひろしまなおき (廣島直己)
住処: シリコンバレー
職業: しがないプログラマ
家族: 愛妻一人、息子一人、娘一人
道具: ハーレー二台、ギター三本
電紙: n at h7a.org

Twitter

« November 2024
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

以前にぼんやりと考えたこと

最近のコメント

  • ひろしま (ひらがなせいかつ …): じゅくじくんは なくした ほうが いい ですね。ぼくは…
  • たんぽぽ (ひらがなせいかつ …): きゅうに ぜんぶの ことばを ひらがなだけに する…
  • とね まさひこ… (ひらがなせいかつ …): ぼくは ものかき だが, かんじが きらいなので,…
  • とりえ (ひらがなせいかつ …): このさいとは みているだけで なんとなく ほんわか…
  • ひろしま (思い通りの日本語…): こうどな ほんを よめなければ、こうどな たんごを 学…
  • nt4 (思い通りの日本語…): ひらがなせいかつに初めて接し、興味を覚えました。そ…
  • ひろしま (ひらがなせいかつ …): やはり、がいこくに くらしていたり、がいこくとの か…
  • ぷりうりうぷ… (ひらがなせいかつ …): こんにちは。すうぇーでんに すんでいます。いとうさ…
  • Joi Ito (ひらがなせいかつ …): もと べいにち たいしの Edwin O. Reischauer さん…
  • yonay (理屈じゃないとい…): なんか、著者の主張を誤解しているような気がするよ。…

  • Powered by Pivot - 1.40.5: 'Dreadwind'
  • SPAM Poison
  • XMLフィード(RSS 1.0)
  • Atomフィード

19 April '2005 - 02:37 | Pivot pivot の mod_rewrite が気に入らない

だいぶ前にフォーラムに書いても反応がなかったので、たぶん、誰も関心がないのだろうけれど、現在の pivot の mod_rewrite の使い方は最悪。まったく気に入らない。

最近、作者の Bob とは国際化関連で濃い議論をしているので、話のついでに mod_rewrite の件もちょっと文句を言ったのだが、それよりも先にやらないといけないことが多いってことで、あまり共感を得られていない。

まあ、そういうどうでもいい細かいことを理解させるべく注力するよりも、他のいろいろと理解してもらわないといけないことを納得させる方が重要なわけで、当分、この問題は放置されることになりそう。

何が気に入らないかというと、mod_rewrite を使う設定にすると、URL が /archive/$year/$month/$date/$title になってしまうこと。年月日はまあいいとしても、エントリのタイトルを URL に使うと化ける。化けるので、urlencode する必要があるが、うっとうしい。はてな方式もいいが、なんで mod_rewrite の利用イコール、エントリのタイトル利用にならないといけないのかってのが疑問。ていうか、気に入らない。

なので、自由にフォーマットを決められるようにハックしてみた。
--- modules/module_parser.php.orig      Sun Feb 20 22:44:32 2005
+++ modules/module_parser.php   Tue Apr 19 02:24:16 2005
@@ -1041,18 +1047,18 @@

        if (!$Weblogs[$weblog]['live_entries']) {
           $filelink = $Paths['pivot_url'] . $Weblogs[$Current_weblog]['entry_path'] . $Weblogs[$Current_weblog]['entry_filename'];
-       } else if ( (isset($Cfg['mod_rewrite'])) && ($Cfg['mod_rewrite']==1) && ($temp_entry['date']!="") ) {
+       } else if ( (isset($Cfg['mod_rewrite'])) && (strlen($Cfg['mod_rewrite'])>5) && ($temp_entry['date']!="") ) {
           // if $temp_entry['date'] is not set, we cant make the non-crufty url,
           // and we fall back to the crufty one..

           list($yr,$mo,$da,$ho,$mi)=split("-",$temp_entry['date']);
-
-          $name = (strlen($temp_entry['title'])>1) ? $temp_entry['title'] : substr(strip_tags($temp_entry['introduction']),0,100);
-          $name = safe_string(trim($name), TRUE);
-
-          if (strlen($name)>30) { $name = substr($name, 0, 30); }

-          $filelink = $Paths['log_url'] . "/archive/$yr/$mo/$da/".$name;
+          $filelink = $Cfg['mod_rewrite'];
+          $filelink = str_replace("%pivot", $Filelinks['pivot_url'], $filelink);
+          $filelink = str_replace("%year", $yr, $filelink);
+          $filelink = str_replace("%month", $mo, $filelink);
+          $filelink = str_replace("%day", $da, $filelink);
+          $filelink = str_replace("%title", urlencode($temp_entry['title']), $filelink);
        } else {
           $filelink = $Paths['pivot_url'] . "entry.php?id=%1$parameter";
           if ($para_weblog) { $filelink .= "&w=".$Current_weblog; }

--- pv_data.php.orig    Fri Feb 18 22:56:40 2005
+++ pv_data.php Tue Apr 19 01:32:30 2005
@@ -239,7 +239,8 @@
                ),

           //array('targetblank', lang('config','new_window'), lang('config','new_window_desc'), 3, 'yn', '', '1'),
-          array('mod_rewrite', lang('config','mod_rewrite'), lang('config','mod_rewrite_desc'), 3, 'yn', '', '1'),
+          array('mod_rewrite', lang('config','mod_rewrite'), lang('config','mod_rewrite_desc'), 0, '%pivot/entry.php?id=%1', '', '1'),
           array('search_index', lang('config','search_index'), lang('config','search_index_desc'), 3, 'yn', '', '1'),
           array('allow_comments', lang('config','default_allow_comments'), lang('config','default_allow_comments_desc'), 3, 'yn', '', '1'),
           array('maxhrefs', lang('config','maxhrefs'), lang('config','maxhrefs_desc'), 0, '5', '', ''),
をやると、mod_rewrite の設定が、オン/オフから、フォーマット設定に変わるので、そこに、
/~naokih/entry_%1.html
と書いて、.htaccess に
RewriteEngine on
RewriteRule ^entry_(.+).html$ /~naokih/pivot/entry.php?id=$1
と書いたのが、このサイトの現在の設定。

これで、エントリの URL は entry.php?id=1298 ではなく entry_1298.html となる。全ての場所を確認したわけじゃないけれど、とりあえず、希望通りに動いているっぽいので一応の満足とする。あとは、タイミングを見て営業活動をす るのを忘れないように、と。

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。



  
情報を記憶する

Emoticons /

酢ハムがいったいどんなハムなのかはともかく…
 

 

通知:
非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。