ぼんやりと考えている人

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

ひろしまなおき (廣島直己)

Twitter

« September 2008
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        

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

最近のコメント

  • あごら (Gyazickr for iPho…): 遅くなってしまいましたが…v1.1 で Flickr の URL 問題…
  • ひろしま (かりーたんはぼく…): かりーたんが好きですか、そうですか。 じゃあ、こんど…
  • ゆーすけt (かりーたんはぼく…): なたりーたんがなおーきさんのではないのは断っておく…
  • ひろしま (オレゴンから愛 '0…): ポートランドにはけっこう日本人がいると思いますが、…
  • 台湾人 (オレゴンから愛 '0…): オレゴン州に日系の方はいらっしゃいましたか? カリ…
  • ayako (名古屋の人は蚊帳…): 3回くらい読み返してやっと何の事かわかりました。 私…
  • ひろしま (オレゴンから愛 '0…): いや、Crater Lake しか観光するところはないですねw …
  • 台湾人 (オレゴンから愛 '0…): オレゴン州は観光名所が多いですか?…
  • ひろしま (名古屋の人は蚊帳…): N氏の twitter.com/N/statuses/884901308 のことですか…
  • Goro (名古屋の人は蚊帳…): この問題についての色々な意見を読みましたが個人的に…

  • 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やメールアドレスはそのまま記述すればリンクになります。