read.cgi 2006―JavaScriptはCGIの夢を見るか
750 :
root▲ ★:2006/08/29(火) 17:52:27 ID:???0 BE:1460328-PLT(15702)
>>749 /var/tmp の下は激しくいまいちなので、
home directory 配下のある場所に mv しました。
ありかは、ちとお取り込み中が終わってから。
(見ればわかるといううわさも)
>>750 場所確認しますた.
# 実は,個人環境では /var/tmp が全然 temporary じゃない状態になってたりします......w
専ブラの話だけど、スレが無い時のステータスコードを302で決めちゃってるのが
多いのかしらね。
以前も、新仕様鯖だったかで、404になるのに対応できないブラが右往左往
していたっけね。
(ルート付きを始めた時だっけ?)
302は変えないほうがいいと思う
>>752-753 悪影響が出る専ブラには,User-Agent で判定して 302 返すようにしますかね......
XMLHttpRequest は外部鯖向け 302 との相性が悪いってのもあるし,
仮にそれに対応させたとしても,過去ログの存在を確認するために別 URL で
改めてアクセスするとなると HTTP リクエスト数が増加する方向に働くことになるんで,
JavaScript 版やる上では ErrorDocument で pastdat.so に振り向けるやり方の方が
スマートかなって気もしないではないんで......
ついでに●ログインとかもやってみようかと思ったけど,それやるには
mod_ssl と mod_proxy が使える 2ch.net ドメインの鯖もないとダメポな予感......
302はgetResponseHeader('Location')した後location.hrefなりwindow.openなりすればいいんじゃね?
>>755 というか,302 のジャンプ先にある live.html を表示しても仕方ないんで......
要は read.cgi と同様に,ライブな dat が存在しない場合に過去ログの有無を調べ,
過去ログがある場合に最初と最後のレスだけ抜き出して表示する,ってのが目的なんで.
とりあえず ^(Mozilla|Opera|Lynx|Wget)/ のような感じの,専ブラと関係なさそうな
User-Agent の場合だけ 404 等のを返し,それ以外は 302 を返す形にしてみますた.
live.html自体は人大杉だけど302は前からそうなっているからなあ
今もバナーでてるけど広告的な意味もあるのかな?
>●ログイン
2chの鯖を介さずにブラウザ側で直接ログインできるならいいけど
そうじゃないならちょっと・・・
pastdat.soみたいな、専用モジュールの追加もアリという前提ならば
将来的には.datの必要部分のみ取得というモジュールというのも視野に入れても良さそうな感じ。
昔のread.cgiのrawmodeみたいに、レス番やlxxで。
といっても、'\n'の検出を毎回鯖がやらなきゃいかんので
ある程度の数の.datの行頭探索結果はメモリ上に保持しておいて、とか
それ以前に、行頭はbbsdで完璧に把握できるのだから、bbsdと連携して、とか
read.cgiもbbsdと交信して行頭情報を取得したり、とか
などの話にも発展させられそうな。
TCPでモジュールとbbsdが交信するようにすれば
大きいデータ(.dat本体とか)も扱えるだろうし
接続しっぱなし(SO_KEEPALIVEであぼん検出)みたいにすれば
JumboFrameも使えるし、負荷的にはUDPと大差ないと思うんですがどうでしょうね。
(多数のコネクションを効率的に扱うサーバーの造りは、UDPよりずっと大変でしょうが)
>>757 html ならともかく dat を直接ブラウザで表示する人はあまりいないだろうと
いうことと,専ブラや read.html のようなものが dat を取得するのは
直接表示するためではないので,dat へのアクセスを別の場所に飛ばすのは
広告としてもあまり意味がないような気がします.ともあれ,
>>744 で
Go サインは頂いたと思いますので,とりあえずこの路線で.
●ログインは,pastdat.so の機能を拡張すればシームレスな過去ログ表示も
可能になりそうとちょっと考えたんですが,認証サーバは 2ch.net とは
別ドメインにあるので,
>>754 でも述べたように認証サーバへの橋渡しをする
プロクシ鯖を別途用意しなきゃダメポなようですね.
>>758 pastdat.so は,ErrorDocument 404 で振られた場合だけ呼ばれるので......
あと上の方でも話がありましたが,部分取得しつつキャッシュを有効活用するなら
ブラウザが備えてるのとは異なるキャッシュ機構がないとうまく機能しないので,
ローカルストレージに直接アクセスできない限り困難,つまり
JavaScript でやってる限りは困難じゃないかと.
ちなみに,bbsd は subject.txt のデータはオンメモリで管理してますが,
dat は単純に O_APPEND モードで追記してるだけなのでオンメモリでは管理してません.
「差分取得」ではなく「部分取得」のつもりだったのですが。
、、と、もしかして、
既に現状のread.htmlが、リクエストのURIを解析して
.dat全体の中から必要な部分だけを転送するようになっているのですかね。
bbsdに関しては、現在は管理していないのはわかりますが
「何バイト書き込むか」を確実に把握出来るので
初回はともかく(再起動に備えて別ファイル等も必要でしょうが)
行頭情報を常時保持しても大きな負担にはならないとの考えからです。
あ、ごめんなさい、補足。
つまり、「必要個所だけを転送する」ためには、行頭情報が必要で
可能であればそれをキャッシュしておきたい、という考えがあるのですが、
そのキャッシュをbbsdと別に持つとすると、毎回stat()をかけなければいけない
というのがあります。
fstat()ならまだしも、stat()はアクセス権チェック等もあることから
「可能ならば省略したい処理」になるのではないかと。
で、bbsdならば、更新確認のstat()が不要なままで、
確実な行頭情報を得られるということですね。
>>760-761 いや,現状では dat は単純に全体を取得してます.
差分取得にしろ部分取得にしろ,キャッシュの有効活用との
両立は困難だと思うんで.例えば細切れな dat の断片を
いくつも管理するとか複雑な処理をして両立しようとしても,
その断片ごとに(If-Modified-Since 付きではあっても)
HTTP リクエストが多数発生するとかになって,
果たして苦労する割に得るものがあるだろうか,と......
それから,書き込みとの関連の薄い処理まで bbsd にやらせることを
考えるぐらいなら,フロント側で mod_cache を有効化するなどを
やる方が先決じゃないかと.bbsd の仕事を増やすというのは
すなわちバックエンド側の仕事を増やすということにもなりますし.
>756
逆に、Monazilla/1.00 だけ302の方がすっきりしません?
>>763 専ブラは全部 Monazilla/* っていう User-Agent なんでしょうか?
それなら確かにその方がすっきりしますが......
>>764 個人的には,dat が存在しないのは 302 の場合だけという決めうちは
手抜きだなぁ,そういう決めうちプログラムの側が是正されるべきだよなぁ,
と確かに思うんですが,かといって経過措置も何も考えずにやると
いろいろ混乱を来しそうで......
てか、1.00とか適当なことを言ってないで有効活用すればいいじゃん。
1.1とか2.0とか。
767 :
◆TWARamEjuA :2006/08/30(水) 21:31:42 ID:3/7Hf8HC0 BE:4574467-BRZ(6666)
404より410の方が妥当な悪寒。。。
> User-Agent
通常のdat読みでは義務ではありませんが、以前にはMonazilla/1.00だけが
dat読みを許されていたこともあり、現在でも非常に強く推奨されており、
実際、ほとんど(おそらく全て)がそうなっています。
ちなみに、●使用ではUAが厳しく指定されています。
>>768 L〜もG〜もW〜もMonazillaじゃないぞ
>>767 多くのケースでそうかも知れませんが,スレ移動で今までなかった dat が出現するとか,
dat 落ちしたのが復活するとか,ということもまれにない訳でもないかと......
>>768 なるほど......ってことで,Monazilla/ の場合だけ 302 にしますた.
>>769 ありゃ,すれ違っちゃった......となると,その L?, G?, W?
ってブラウザがどういう挙動を示すかが問題か......
dat落ちについてはLocationがおかしいだけで302は妥当なのかも
LocationはMUSTじゃないからあえて含めないで
本文にdat落ちのメッセージ入れてみるとか
(どういう動作になるかわからんけど)
Live2chもギコナビもぎこはにゃんもMonazillaだし、W?シラネ、Mac?モットシラネ。
既に言われているように、本来は専ブラ側が対応するものなので、
細かい所まで気にしなくても良いんじゃないですかね。
302決め撃ちばかりとも限らないし。
774 :
◆TWARamEjuA :2006/08/30(水) 23:34:09 ID:3/7Hf8HC0 BE:2178645-BRZ(6666)
レスポンスを細分化することは可能であっても(3**返すとか4**返すとか)それに見合った負荷対策は?
と考えるとでんでんメリットが少ない気もするですね(苦笑)
*.datの取得に関しては「UAでMonazillaを返してこないのは、専用ブラジャー以外」と決め込んでしまって良いんじゃないかな。
・・・を前提にしつつHTTP仕様にも沿って欲しいよなぁとかとか(どっちやねん)
ああそうか、Monazillaは302にするということは、pastdat.soを使わないということであり、
サーバ側の処理を省くことになる、という2ch側の理由もありえるのか。
よく考えたらread.htmlでアクセスするのはdat-utf8とdatxだから
そっちだけ変えればいいんでは?
>>772 >dat落ちについてはLocationがおかしいだけで302は妥当なのかも
これは一理あるかも.ただ,元々 dat がないケースだと 302 では
本来おかしいですし,404 等の方がふさわしいし扱いやすいと
いうところで,今回やってる方針のメリットはあるかなぁと......
>>773-774 とりあえず,Monazilla だけ 302 にする,ということで様子見の方向で.
>>775 というか,Monazilla の判定は pastdat.so 内でやってます.
ErrorDocument ディレクティブでは User-Agent での条件分岐とかできませんし,
仮にできても .htaccess のディレクティブを毎リクエストごとにパースして
条件分岐するよりは pastdat.so 内で分岐する方が軽そうな気がしますし
(*.so は Apache モジュールでの処理とほぼ同等ですし).
>>776 この件だけ考えればそうかも知れませんが,現状雪だるま鯖の
read.cgi が過去ログの存在を認識できない問題への対処というのも
視野に入れてるんで......
> Monazilla の判定は pastdat.so 内でやってます.
そなんすかー。
2ch側が積極対応する口実を見っけたと思ったのにー。
ああでも、過去ログの情報でdat開くよりは、単に302だけの方が軽いかな、
とかなんとかまだこだわってみる。
>>778 まぁ,Monazilla 以外の User-Agent の専ブラで悪影響が出るのがあったら
その時にまた対処するってことで......
>>731 に対応ブラウザの判定を入れる(ただし dso では判定にかかわらず
全部 read.html に振る)とこうなるかな.IE 4 やネスケ 4 では
try / catch でエラーになるだろうけど,エラーでスクリプトが止まって
URL 書き換えも実行されないなら,それはそれでよしってことでw
----------------------------------------------------------------------
try {
if (/MSIE (?:[6-9]|\d{2,})\D|rv:(?:1\.(?:[89]|\d{2,})|[2-9]|\d{2,})\D.*Gecko\/|Opera\/(?:[89]|\d{2,})\D/.test(navigator.userAgent)
|| location.hostname == "dso.2ch.net") {
var isIE6 = navigator.userAgent.indexOf("MSIE 6.0") > 0;
for (var i = 0; i < document.links.length; i++)
if (/^
http:\/\/(?:\w+\.)?(?:2ch\.net|bbspink\.com)\/test\/read\.cgi\/?/.test(document.links[i].href)) {
document.links[i].normalize();
var data = document.links[i].firstChild.data, isEqual = document.links[i].href == data;
document.links[i].href = document.links[i].href.replace(/read\.cgi(\/)?/, function(s, slash) { return "read.html" + (slash ? "/" : ""); });
if (isIE6) {
document.links[i].firstChild.data = isEqual ? document.links[i].href : data;
document.links[i].parentNode.replaceChild(document.links[i].cloneNode(true), document.links[i]);
}
else if (isEqual)
document.links[i].firstChild.data = document.links[i].href;
}
}
} catch(e) {}
----------------------------------------------------------------------
さらに,検索エンジン等外部リンクから飛んできた場合に対応ブラウザなら
read.html に振るとするとこうかな.dso では %{HTTP_USER_AGENT} の行は
コメントアウトで.
----------------------------------------------------------------------
RewriteCond %{HTTP_USER_AGENT} MSIE\s(?:[6-9]|\d{2,})\D|rv:(?:1\.(?:[89]|\d{2,})|[2-9]|\d{2,})\D.*Gecko/|Opera/(?:[89]|\d{2,})\D
RewriteCond %{HTTP_REFERER} ^
http:// RewriteCond %{HTTP_REFERER} !^
http://(?:\w+\.)?(?:2ch\.net|bbspink\.com)/(?:\w+/(?:|(?:subback|index)\.html)$|test/read\.(?:html|cgi)[#/]?)
RewriteRule /?read\.cgi(/.*)?$ /test/read.html$1 [R]
----------------------------------------------------------------------
781 :
ひろゆき@どうやら管理人 ★:2006/09/05(火) 05:12:07 ID:???0 BE:63825-DIA(33396)
783 :
ひろゆき@どうやら管理人 ★:2006/09/05(火) 13:51:45 ID:???0 BE:151283-DIA(33396)
blackgoatとか、read.htmlとかで共有datスペースを作ったほうが
効率いいのかなぁ、、とか思ったです。
>>783 そういうことですか.アイデア的には面白そうですが,
現在独立してる各サーバを dat スペースを共有する形に再編するのは
結構大がかりな作業になりそうなのと,以前雪だるまで NFS 使ってた
時のように虫踏んで苦しむことにならないか,ってあたりが課題かもですね.
FreeBSD だと GEOM gate とか使うことになるのかな......?
785 :
root▲ ★:2006/09/05(火) 16:29:51 ID:???0 BE:1094562-PLT(15755)
786 :
root▲ ★:2006/09/05(火) 16:31:05 ID:???0 BE:1459744-PLT(15755)
>>784 そのへんは、、、。send-pr しまくりかしら。
とりあえず hrs さんにしかられない方向で。
787 :
動け動けウゴウゴ2ちゃんねる:2006/09/14(木) 19:30:15 ID:6gFSb2eF0
早くVIPにこれ導入してくれよ
まだ出来てないよ
時代の先を目指しているようで
実は時代と逆行しているような気がするのは気のせいだろうか。
でも出来上がりは楽しみだな。
まぁ,一応動く形になってるという意味ではできてないというわけでもないとは思いますが,
何かきっかけがあれば動き出すかも,今はそのきっかけ待ちという状態かな......
待ってるだけじゃだめだよ
まぁ,dso 以外の鯖でも動かすには他の鯖にこれを入れられる人が動いてくれることも前提なんで......
一応,必要な手順をまとめておこう......
・ read.js は www2 に入れる.ついでに,be.js も若干変更してるので,それも更新.
・ read.html は各鯖に入れる(雪だるまではフロント側).
・ subback.html, index.html の JavaScript 部分を
>>780 前半のように変更 (bbs.cgi).
・ httpd.conf か .htaccess に
>>780 後半の設定を入れる.
・ pastdat.so も各鯖に入れる(雪だるまではバック側).
・ pastdat.so 用設定として以下のを httpd.conf か .htaccess に入れる.
<Files *.dat>
ErrorDocument 404 /test/pastdat.so
</Files>
# <Files pastdat.so>...</Files>: スタンドアローンサーバのみの設定.
# リバースプロクシバックエンド(雪だるま)では入れない.
<Files pastdat.so>
AddDefaultCharset Shift_JIS
Header always append Cache-Control max-age=5
</Files>
# httpd 用設定まとめ
LoadModule charset_lite_module libexec/apache2/mod_charset_lite.so
<Location /*/datx/*.dat>
AddDefaultCharset Shift_JIS
Header always append Cache-Control max-age=5
</Location>
<Location /*/dat-utf8/*.dat>
SetOutputFilter XLATEOUT
CharsetSourceEnc CP932
CharsetDefault UTF-8
CharsetOptions NoImplicitAdd IgnoreIlSeq
AddDefaultCharset UTF-8
Header always append Cache-Control max-age=5
</Location>
<Location /test/bbs-utf8.cgi>
SetInputFilter XLATEIN
CharsetSourceEnc CP932
CharsetDefault UTF-8
CharsetOptions NoImplicitAdd IgnoreIlSeq
</Location>
<VirtualHost ...>
# ServerName xxx.2ch.net のところ
AliasMatch ^/(\w+)/dat(?:x|-utf8)/(\d+\.dat)$ /home/ch2xxx/public_html/$1/dat/$2
# 雪だるまでは上記 AliasMatch の代わりに RewriteRule で.
# RewriteRule ^/(\w+)/dat(?:x|-utf8)/(\d+\.dat)$
http://xxxb.2ch.net/$1/dat/$2 [P]
Alias /test/bbs-utf8.cgi /home/ch2xxx/public_html/test/bbs.cgi
</VirtualHost>
# ↑までは httpd.conf で設定.
# ↓以降は httpd.conf / .htaccess どちらでも可.
RewriteCond %{HTTP_USER_AGENT} MSIE\s(?:[6-9]|\d{2,})\D|rv:(?:1\.(?:[89]|\d{2,})|[2-9]|\d{2,})\D.*Gecko/|Opera/(?:[89]|\d{2,})\D
RewriteCond %{HTTP_REFERER} ^
http:// RewriteCond %{HTTP_REFERER} !^
http://(?:\w+\.)?(?:2ch\.net|bbspink\.com)/(?:\w+/(?:|(?:subback|index)\.html)$|test/read\.(?:html|cgi)[#/]?)
RewriteRule /?read\.cgi(/.*)?$ /test/read.html$1 [R]
# ↑までは,雪だるまではフロント側で設定.
# ↓以降は,雪だるまではバック側で設定.
<Files *.dat>
ErrorDocument 404 /test/pastdat.so
</Files>
# <Files pastdat.so>...</Files>: スタンドアロンサーバのみの設定.
# リバースプロクシバックエンド(雪だるま)では入れない.
<Files pastdat.so>
AddDefaultCharset Shift_JIS
Header always append Cache-Control max-age=5
</Files>
そろそろexがつくサーバーで試してみましょうぜ
よしex9でよろ
ex14キボン
ex18で
ex18
ひろゆき30歳の誕生日に一斉導入しよう
19才だよ、永遠に
ex16で。
ex11
ex全部でいいじゃん
あえてtmp5復活
そこでqb5
本命 ex16
対抗 ex11,tmp5
大穴 qb6
?
ex 系もいいですが,さらにそれ以外も付け加えるとすれば,read.cgi が
止められてる鯖とか LA が上昇して人大杉になりやすい鯖とかもですかね.
そのあたりは,鯖の状況も見ながらってことになるでしょうけど.
あと,BE 板がある etc4 とかも...... be.js には旧 BE 板の機能継承という
側面もありますし,さらに dso と同一鯖なので面倒見やすいということも.
それと,今すぐじゃなくてもいいのかも知れませんが,今後の検討課題としては
・ [PR]〜[PR]
・ 関連キーワード
ってのもありますが,これは
>>266 のように JavaScript 変数として
渡してもらう形にすればいいかと.いわゆる JSON ってやつかな.
>>808 >read.cgi が止められてる鯖
2chplusとかは如何
そういえば、過去ログのようなhtmlファイルを最初から作っていく事で
read.cgiを使わなくする計画とかもあったよね。大分前に。
asda dawefhawliufh lawg agr awg a
ところで、cgiをphp化するとかは考えてないとか?
ApacheのDSOだったりもしますしね
既にPHPに変えたところでパフォーマンスダウンにしかならないところまで登りつめてるんだよな。
read.cgiってすげーよな。UNIX板ありがとうなんて言ってた頃のあれの面影も残ってねぇw
cgiだった頃のソース放出したりすると差し障りあるのかな?
それがC言語版なんかだったりすると互換板的にスゲェ需要あるんじゃ。
818 :
◆TWARamEjuA :2006/11/06(月) 20:21:12 ID:6HE/osbR0 BE:2613683-BRZ(6667)
Common Gateway Interface
言語に依らないのですー♪
DSOはCGIに含まれるの?
820 :
◆TWARamEjuA :2006/11/06(月) 22:09:34 ID:6HE/osbR0 BE:5880896-BRZ(6667)
「DSOが」
ウェブサーバの一部なのか、ウェブサーバの外部のプログラムなのか、と。
822 :
◆TWARamEjuA :2006/11/06(月) 23:49:37 ID:6HE/osbR0 BE:1960463-BRZ(6667)
FastCGI化はしないの?
このスレは静的なHTMLでread.cgiを置き換えるスレですから
825 :
動け動けウゴウゴ2ちゃんねる:2006/11/09(木) 11:54:26 ID:DGHujHbV0
826 :
動け動けウゴウゴ2ちゃんねる:2006/11/09(木) 13:35:16 ID:lhyl8j7NO
動的にpdfを生成すればいいんじゃね?
Flashでやってみるのもおもし(ry
そこはActiv(ry
いっそレスの数だけサーバ立てようぜ
超分散処理最強
いれていれて
そういやFlashで2chブラウザってありそうでないような
携帯限定だけど、Andyってのがあったはず。
IEでスレッドの内容を保存できないという問題は、
saveSnapshotビヘイビアを使って、取得したdatの内容を
退避しておけば解決できるかもしれません。
<textarea id="hiddencache" style="behavior:url(#default#saveSnapshot);display:none;">
(IEでページを保存する時に、ここの内容はそのまま保持される)
</textarea>
テキスト欄にステージデータをコピペして保存してから開くと
プレイ可能なファイルができてる、不思議なサンプル。(テキスト欄がSaveSnapshotになってる)
http://makimo.to:81/ldm/lrc.html
>>834 そういうのがあるんですか.ただ,ローカルファイルへの保存に関しては
例えば Firefox の完全モードでの保存だと HTML の構造自体を変えてしまうだとか,
オンラインでの表示よりもいろいろ考慮しなければならないことも増えてくるので,
とりあえずは従来版 read.cgi の方でやってもらうということで......
これの導入をひろゆきさんへの誕生日プレゼントということで......
838 :
外野ァァン:2006/11/16(木) 00:22:06 ID:rgC5HKwd0
わーいわーい
- read.js / be.js の確認・同期 (www2b => www2f[1-5](= www)) … done? by 管理人
- SunOS さんパッチバージョンの mod_charset_lite を有効にする @ life7 … やりました
- test/pastdat.so を入れる @ life7 … done by SunOS さん
- httpd.conf を上記のとおり更新して、更新内容を有効にする @ life7 … やりました
- bbs.cgi の該当箇所をコメントじゃなくす … まだ
あと、
>>839 に加えて、
- test/read.html を入れる @ life7 … done by SunOS さん
かな。
うまく動いているのかな。
うまく動いているなら、
明日早いので、今日はそろそろ寝る時間かも。
>>842 できたはず。
あとは bbs.cgi の有効化だけですか。
これは、様子を見ながらでも OK かなと。
ちと、今日はこのへんで。
あ、あと read.html の動作確認がありますね。
有効化はそのあとかなと。
すみませんが、動作確認は各位におまかせいたしますです。
read.html を直接使えば、今現在使えているはず。
www2 の同期をしたら、
read.html がうまく動かなくなった予感。
ううむ、ちと私ではわからないですね。
今日は私が、時間切れの予感。すみませんがこのへんで。
む、ブラウザを再起動したりいろいろやっていたら見えるようになった。なんでだろう。
いずれにせよ、今日の私の作業はここまでで。
全部や50をクリックしたときにはdatを取得しなおしてるんだっけ?
>>850 PATH_INFO 形式では別ページに遷移する形になるので
HTTP リクエストが発生しますね(更新されてなければ 304 が返ります).
location.hash 形式では既存のデータをそのまま利用しますが,
現状ではユーザの利便性を優先して PATH_INFO 形式がデフォルトです.
さて,bbs.cgi 更新してみますかね @life7
qb5 と life7 の bbs.cgi 更新 done
さてさて......
...気が付かないね
壷は知らんけど、専ブラ知らないでIE使ってる人はそんなこと気にしないような気がする
read.htmlは
>>854 だとどこに集計されるのかしら?
>>835 例えば、hiddencacheが空白だった場合は通常の動作をし、
hiddencacheにデータがあれば保存済みファイルと判断して
そちらから読むという感じです。
IEで保存した後は他のブラウザで開いても読める(はず)という利点もあります。
ただ、IEの仕様変更でいきなり使えなくなったりする怖さもあるので、
やっぱりread.cgiを使ってもらうのが確実ですね。
通常がJAVA表示で表示されない場合はcgiに誘導は?
特に苦情等が押し寄せてないことからすると,特段トラブル等はないということでいいのかな.
ただ,統計見ても read.cgi 呼び出し数にもあまり大きな変化がないような......
JavaScript 切ってたりブックマークから直接 read.cgi 呼び出したりしてるユーザが多いってことかな......
あと,デフォルトでは RewriteEngine on は入ってないんですね.
RewriteCond / RewriteRule の部分が効いてない悪寒(その部分はぐぐる等
外部リンクから read.cgi が呼ばれた場合 read.html に飛ばす設定).
トラブルが無くて期待はずれとか書くと怒られるかな。
>>860 RewriteEngine On にしてみた。@ life7
863 :
外野ァァン:2006/11/16(木) 12:51:41 ID:WThXHxR60
ではそろそろ全板に
864 :
動け動けウゴウゴ2ちゃんねる:2006/11/16(木) 13:05:15 ID:j2jIwDH6O
全板にやる前に、すぐ苦情を言って来る板にいれた方が。
トラブルってここに書けばいいの?
read.cgi 微減
html dat 微増
その他 激増
Total 2割くらい増
その他ってなんじゃらほい
index.jsとread.jsじゃね?
>>861 まぁ,良くも悪くも静かで拍子抜けって感じかもw
>>862 乙です
>>863 まぁ,大きな問題はなさそうですね.
ただ,右上の [PR]?[PR] は要対応かも(後述).
>>864 元気の良さそうな板のあるところとかですかね.
>>865 とりあえず,そうですね.
>>866 今まで存在しなかった URL (datx, dat-utf8, bbs-utf8.cgi) なのかも......
pv.40.kg がどういう形で集計してるのかよくわかりませんが......
>>867 それがあるのは www2 です.
>>868-869 乙です.dat のは /datx/ もありますね.
で [PR]?[PR] のところですが,例えば www2 あたりに
----------------------------------------------------------------------
var PR = {href:"
http://hogehoge.example.com/", text:"ほげほげショップ"};
----------------------------------------------------------------------
のような内容の .js ファイルを置いてもらって,
それを読み込んで表示する形にするといいのかも.
871 :
root▲ ★:2006/11/16(木) 14:44:03 ID:???0 BE:1459744-PLT(20000)
>>870 datx/ もカウントするようにしました。
PR のところは、管理人も交えてというかんじですか。
# ちと、たぶん夜までオフライン。
>>871 乙です.[PR] のはそうですね.
そういえば
>>457-458 の問題があったのも思い出しますた......
life7% perl -e'print "\x81\x60";' | iconv -f cp932 -t utf-8 | iconv -f utf-8 -t ucs-2be | od -txC
0000000 30 1c
0000002
ってことで,libiconv をパッチ込みで作り直し (
>>478-479)
ってのもお手数ですがおながいします>むむむさん
# 致命的な問題ではないので,ゆっくりでいいです.
873 :
sage:2006/11/16(木) 17:08:02 ID:AJV8X8Vo0
875 :
外野ァァン:2006/11/16(木) 17:39:56 ID:WThXHxR60
いったん life7 の bbs.cgi の該当箇所を戻しておきます。
read.html の機能は殺さないけど、
デフォルト(index.html subback.html 等)は元に戻るはず。
>>877 done.
ちと、しばらくオフライン。
879 :
ひろゆき@どうやら管理人 ★:2006/11/16(木) 18:23:13 ID:???0 BE:171239-S★(101205)
sakuのbbs.cgiでread.htmlだとread.cgiに変換するようにするとか。
880 :
外野ァァン:2006/11/16(木) 18:47:02 ID:WThXHxR60
サザンくーん
削除依頼がread.htmlでも別にかまわないんでわ
882 :
ひろゆき@どうやら管理人 ★:2006/11/16(木) 19:00:02 ID:???0 BE:171239-S★(101205)
削除ツールのほうで対応してないとかの問題だったりするんすかね?
そういうことでないかな。
ん?と,削除依頼で提示される URL が read.html になるのが問題なのであれば,
saku / saku2ch の書き込みでは本文中に /test/read.html/... が出てきたら
/test/read.cgi/... に変換するとかすればいいとかいうことではなくて?
itadakiオンライン蛾物故割れた
こんな形で依頼が注目されてしまって、ちょっとお気の毒かも。
専ブラの作者さんにも対応してもらわないとな
あるいは,read.cgi という URL のままで read.html の機能を提供できればいいのかも.
例えば,index.html / subback.html 中の JavaScript で URL 書き換えの代わりに Cookie の設定をして,
鯖側ではその Cookie があった場合に mod_rewrite で read.cgi という URL のまま read.html の内容を返す,と.
>>888 の形で bbs.cgi 更新しますた @qb5, life7
んで,mod_rewrite の設定をこうしてもらえばいいかと.
RewriteCond %{HTTP_COOKIE} (?:^|;\s?)READJS="?on"?(?:$|;)
RewriteRule /?read\.cgi(/.*)?$ /test/read.html$1
RewriteCond %{HTTP_USER_AGENT} MSIE\s(?:[6-9]|\d{2,})\D|rv:(?:1\.(?:[89]|\d{2,})|[2-9]|\d{2,})\D.*Gecko/|Opera/(?:[89]|\d{2,})\D
RewriteCond %{HTTP_REFERER} ^
http:// RewriteCond %{HTTP_REFERER} !^
http://(?:\w+\.)?(?:2ch\.net|bbspink\.com)/(?:\w+/(?:|(?:subback|index)\.html)$|test/read\.(?:html|cgi)[#/]?)
RewriteRule /?read\.cgi(/.*)?$ /test/read.html$1
今の rewrite の設定は、
RewriteCond %{HTTP_USER_AGENT} MSIE\s(?:[6-9]|\d{2,})\D|rv:(?:1\.(?:[89]|\d{2,})|[2-9]|\d{2,})\D.*Gecko/|Opera/(?:[89]|\d{2,})\D
RewriteCond %{HTTP_REFERER} ^
http:// RewriteCond %{HTTP_REFERER} !^
http://(?:\w+\.)?(?:2ch\.net|bbspink\.com)/(?:\w+/(?:|(?:subback|index)\.html)$|test/read\.(?:html|cgi)[#/]?)
RewriteRule /?read\.cgi(/.*)?$ /test/read.html$1 [R]
ですが、その下に
>>889 を追加すればいい、ということなのかしら。
いや、自分なりに読んでみると、
>>890 の4行のところを、
>>889 の6行と入れ替える、ということかしら。
で、今日はちと限界かも。
明日ということで。
>>891 そうです.今まで external redirect してたのを internal redirect にするってことで.
これで,外面的には read.html という URL を使わずに済むようになるってことで.
VIPに入れてread.cgiとめちゃったら?
>>892 乙です.
とりあえず,今は臨時に test/.htaccess 置いて
RewriteEngine on
RewriteCond %{HTTP_COOKIE} (?:^|;\s?)READJS="?on"?(?:$|;)
RewriteRule /?read\.cgi(/.*)?$ /test/read.html$1
のようにしてます(httpd.conf 側の設定が完了したらこれは消します).
で,これに伴い従来版 read.cgi にアクセスしたい場合用に
read.so を read.cgi に対する symlink として置きますた.
897 :
ひろゆき@どうやら管理人 ★:2006/11/17(金) 01:35:30 ID:???0 BE:51124-S★(101205)
internal redirectっていう手があるんすねぇ。
面白そうだし、やるだけやってみますか。
てst
ずっと専ブラなんで何が起こってるのか判らんが・・・軽くなるならいいぞ
>>897 一日過ぎたが誕生日おめ
某スレを見ようとブクマをクリックしたら
いきなりスレイプニル1.66が不正終了(でも何故かアプリ自体は落ちない)して
「読み込み中」の表示が出たまま固まったから何事かと思ったよ。
アプリ再起動したら普通に読み込めるようになったけど。
901 :
動け動けウゴウゴ2ちゃんねる:2006/11/17(金) 06:05:02 ID:YDdxhA3F0
うちのjavaコンソールで見れないんですが。
専ブラのギコナビ、マカフィ導入したらスレが見れなくなって
使えなくなったから、IEで見てるんだけど。
>>900 ん〜たまたま落ちたのか,それとも特定の条件で再現するのかが問題ですが,
また落ちるようなら知らせて下さい.
>>901 Java コンソールは Java アプレット(JavaScript とは別物)で発生するエラーメッセージ等を
表示するものじゃないかと...... それとも,IE でスレ表示自体ができないんですか?
オペラと火狐は問題なかったけど読み込む時にもっさりしてる