nDiki : mod_rewrite
スポンサード リンク
Related term
2001年10月2日 (火)
■ Apache Proxy で アンテナの ?%MM%%DD%%HH%%TT% 除去

アンテナページの多くはリンクURLに更新日時を付加する。 例えば
http://www.naney.org/personal/diary/hns/
が、10月02日 14:46 に最終更新されているとう情報を取得すると
http://www.naney.org/personal/diary/hns/?10021446
という、URL を持つリンクをアンテナページに生成する。 ページが更新されるとURLも変化するので、(Mozilla, Internet Explorer 等の)以前にアクセスした事のあるリンクの色を変えるブラウザでは、更新されたことを確認しやすい。
が、これはキャッシュ proxy には仇になる。 更新されるたびにURLが変化するということは、そのURLごとにキャッシュが作られるということだ。 私の愛用の WWWOFFLE もご多分にもれずそうである。 私は3ヶ月間キャッシュを保持するようにしているから、一日に3度更新されるページをアンテナのリンク経由で見ると、約90のコピーがキャッシュされる事になる。 そして、最新以外のキャッシュは(通常)2度と利用されることもない。 もはや、その URL ではアクセスされないから。
これはもったいない。 ようは、アンテナ経由でのアクセスの ? 以下を削除してキャッシュすればいいのだが、WWWOFFLE にはあいにくそのような機能はない。 そこで、URL を書きかえる proxy をブラウザと WWWOFFLE の間にカマせようということになる。
Mozilla -> rewrite proxy -> WWWOFFLE -> target site
ここでは、Apache を rewrite proxy にすることにしてみた。 Apache は mod_proxy で proxy になるし、mod_rewrite で URL を柔軟に変更できる。 もともと、自分の Web サイトのチェック用にローカルマシンで Apache も常時起動しているので設定を変更するだけだ。
とりあえず、大抵のアンテナは ?と8桁の数字(「なつみかん」でいうところの?%MM%%DD%%HH%%TT%)を付加するので、これをもぎとればよい。 以下、httpd.conf の修正。
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
とモジュールをそれぞれ有効にする。rewrite_module より proxy_module を先に Load するようにする(デフォルトでは逆順なので注意)。
そして、httpd.conf の最後に
ProxyRequests On ProxyRemote * http://127.0.0.1:8080/ NoCache * <IfModule mod_rewrite.c> RewriteEngine on #RewriteLog /tmp/rewrite_log #RewriteLogLevel 9 RewriteRule ^proxy:(.*)\?[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$ $1? [L] </IfModule>
を追加。ProxyRemote で、WWWOFFLE の proxy を指定。 RewriteLog, RewriteLogLevel はうまく書き替らない時に有効にしてログを確認するのに使う。 最後の RewriteRule で実際に書き替えを行う。 ポイントは $1? と、置換後の文字列指定で最後に ? をつけること。 これをつけないと query-string が削除されない(これに気がつくのに随分かかった)。
後はブラウザ側の http プロキシ先を 127.0.0.1:80 にすれば OK。
無条件に ?と8桁数字が末尾にくれば、取り除いてしまうので荒っぽい RewriteRule だ。 だが上記のような query string を使っているページは(多分)そうないから、とりあえず、これで良しとしよう。 困ったら直せばいい。
@ 追加リンク
- いやな日記:URL末尾の ?01234567 のような文字列を除去する
- (2004年3月16日追加)
- Apache でミラー proxy (2002-04-17)
- 25:45 Apache Proxy で アンテナの ?%MM%%DD%%... (2001-10-02)
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
- Web広告に興味を持つ (2000-10-01)
- WiKicker における PageName 最長文字数 (2006-06-10)
2002年4月17日 (水)
■ Apache でミラー proxy

「会社のサイトにあるデモをノート PC に載せて、オフラインで使いたい」という事で、Windows XP な ノート PC に Apache をインストール。
Internet Explorer からは http://会社のサーバ名/ でアクセスできるようにしなければならないので*1 Apache の proxy を使う事にする。 mod_proxy と mod_rewrite を(この順番で)有効にして
ProxyRequests On NoCache * <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^proxy:http://会社のサーバ名/(.*)$ http://127.0.0.1/会社のサーバ名/$1 [P] </IfModule>
としておく。 '<DocumentRoot>/会社のサーバ名' ディレクトリ以下に公開サーバの内容をコピー。 これで、Internet Explorer の proxy を 127.0.0.1:80 にすれば、会社のサーバへの URL はローカル Apache がミラーコンテンツを返してくれる。
ただ、オフライン時に Internet Explorer が直接 DNS をひきにいこうとして proxy に行く前に名前解決失敗してエラーにしてしまったり、途中未接続の旨のダイアログが出たりすると一筋縄では行かなかったり。
自分の開発用 Windows 2000 BOX だと不具合が多かったけど頼まれた XP のノート PC は、あまりいじってないせいか割に素直に動いた。
*1そうしないとデモが動かない
- Apache Proxy で アンテナの ?%MM%%DD%%HH%%TT... (2001-10-02)
- Squid-2.1.RELEASE-src.tar.gz へ更新 (1999-01-20)
- 今日のさえずり - すかいらーくといえば、今だに「愛・おぼえていますか」 (2009-09-18)
- そろそろ Google Chrome を Windows のメイン Web... (2010-02-15)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
2003年11月20日 (木)
■ やっぱ hns

tDiary に随分傾むいていたのだが。
自分自身の使用としては、
- tDiary で SUB できない?
- tDiary で 旬単位表示できない? (月まとめ表示はちょっと大きすぎる気が)
- tDiary には hns の log.cgi に当たる機能がない?
- Ruby プログラム、 hack できない (これを機に覚えれば良いのだが)
- WiKicker との連動コードを簡単に埋め込めなくなる(WiKicker はPerl)
- Unison 導入により hns 関連ファイル管理の整理ができたので、そこら辺が綺麗で気にいった tDiary のメリットが少なくなった。
といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、
- hns でも tDiary のテーマが使える事が判明した(tdiary-hns-theme 使用)ので、レイアウトの選択肢が広まった
- hns にも Web インタフェースがあるし
- hnf 記法の方が、tDiary 記法より簡単 (私が慣れているだけかもしれないが。まぁ教えやすいし。)
といった感想。 で、二転三転したが結局 hns でいこうかと。
hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。
- Web 日誌 / Web 日記を書き始めてから10年 (2009-01-19)
- [ WiKicker ] 日記機能開発開始 (2003-12-27)
- [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 (2002-01-22)
- はいぱー日記システムで日記を開始 (2001-05-11)
- 私的10大ニュース2003 (2003-12-31)
2004年1月22日 (木)
■ SpeedyCGI 外す

一昨日この日記も SpeedyCGI 下で動かすようにしてみたのだが、なんかおかしい。 mod_rewrite しているせい? よくわからんが、違う日付の内容が表示されたりするので元に戻す。
- フィード向け AdSense を追加してみた (2008-08-23)
- [ WiKicker ] SpeedyCGI (2003-10-17)
- [ www.naney.org ] CGI プログラムによるサーバ過負荷 (2003-12-16)
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
2004年7月3日 (土)
■ Naney's Diary から nDiki へぽちぽち移動

空いた時間に、Naney's Diary から nDiki へ手で記事を移している。
ディスク容量等の問題もありできれば nDiki へ全部もってきたい。 他所からのリンクや投稿いただいたコメントもあり簡単には消せないので、まずは移行済の記事に関しては nDiki へのリンクに置き換えていこうと思う。
で記事とコメントを全部移し終えた時点で mod_rewrite かリダイレクトで nDiki へ集約したい。
- Web 日誌 / Web 日記を書き始めてから10年 (2009-01-19)
- フィード向け AdSense を追加してみた (2008-08-23)
- はいぱー日記システムで日記を開始 (2001-05-11)
- www.naney.org のトップページから更新情報とアナウンスを外す (2005-09-20)
- www.naney.org が書籍で紹介される? (2004-05-28)
2008年8月23日 (土)
■ フィード向け AdSense を追加してみた

Google AdSenseで「フィード向け AdSense」が利用可能になったので、nDiki に追加してみた。
Google AdSenseにログインして nDiki の URL を指定してフィードを登録すると、FeedBurner 上にフィードが作成される。
www.naney.org 側では nDiki のフィードへのアクセスがきたら、FeedBurner 上のフィードへリダイレクトするように設定する。 ただし FeedBurner から巡回がきた際にはリダイレクトせずに、nDiki のオリジナルフィードにアクセスさせる。
www.naney.org のトップディレクトリの .htaccess に以下を追加。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^diki/d/rss\.rdf$ http://feedproxy.google.com/nDiki [L,R]
思ったよりあっけなく設定終了。
今のフィード URL が既にフィードリーダーに登録してもらっていることを考えて nDiki (DiKicker) に「FeedBurner 向けに別 URL でのフィード出力機能」と「現在のフィード URL からのリダイレクト機能」を追加する必要があるなと思っていたのが、mod_rewrite が使えれば手間無しだった。
nDiki のフィードと同様の内容に広告が挿入されたバージョンのフィードが http://feedproxy.google.com/nDiki で表示されることを確認。
せっかくなので FeedBurner のレポート機能もチェックしてみることにしよう。
- DiKicker の出力する HTML コードを小さく (2006-10-05)
- サーバ高負荷状態につき DiKicker 機能修正とサーバ設定変更 (2006-03-03)
- www.naney.org をさくらのレンタルサーバへ移転 (2009-12-23)
- www.naney.org が書籍で紹介される? (2004-05-28)
- DiKicker に n 年日記機能を追加 (2006-11-03)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.015643s / load averages: 0.15, 0.16, 0.15
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。