↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] YouTubeも始めました→


2005-02-04(Fri) [長年日記]

[Apache] J2EE RIに飛ばすとき

mod_jkなどを利用してTomcatだとAJP12などのコネクタにより、ApacheからTomcatへ飛ばすことができるけど、「J2EE RIの時にはコネクタ無いし困ったなぁ」と思って、「mod_proxyすればよいかな?」って調べていたら Rewriteでも良いことが判明

RewriteEngine On

RewriteRule ^/mt/mt.cgi(.*)$ http://localhost:8080/mt/mt.cgi$1 [P,NE,L]

[Apache 2.0 + mod_proxy によるリバース・プロキシの構築より引用]

http://localhostでproxyになるのかなぁ。なんかforwardされるのでブラウザからlocalhostにアクセスに行ってダメなような気もするけど…

[Apache] /~user/ を suexec を利用可能にしたまま /user/ でアクセス出来るようにする。

いつか ~user/diaryから /page/diary/にURLを変更したときに、suexecの影響でファイルのUIDを変えないといけないことがあった。

しかも、元の~userで呼ぶと、

Premature end of script headers:

というエラーが発生してしまうようになっていた。

そんな中で、mod_rewriteの使い方を見ていたら

*

UserDir enabled

UserDir public_html

RewriteEngine on

RewriteRule ^/([a-zA-Z0-9]+)/(.*) /~$1/$2 [PT]

RewriteRule ^/([a-zA-Z0-9]+)$ /~$1/ [PT]

* 後ろの[PT]とか何も無し*1だと suexec が効かない。

* [R]だと /~user/ にリダイレクトされてしまうので suexec は効くが URI を変えたいという点では本末転倒。

* [P]だと suexec は効くし、URI も /user/ のまま行けるが、REMOTE_HOST が全部 httpd が動いてるサーバの IP になってしまう。

* [PT] だと、suexec も効くし、URI も /user/ のまま行けるし、REMOTE_HOST もちゃんとアクセス元のままなのでマル。

[/~user/ を suexec を利用可能にしたまま /user/ でアクセス出来るようにする。より引用]

というのを見つけた。

そこで上を参考に、http.configのバーチャルホストの中に

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule ^/page/diary/(.*)$ /~user/diary/$1 [PT]

RewriteRule ^/page/wiki/(.*)$ /~user/wiki/$1 [PT]

</IfModule>

を書いて上げて、~userでも/page/でもsuexecで呼べるように変更した。

すばしい! http://page.on-o.com/diary/ でも呼べるようになったよ。

途中、Premature end of script headers: の連打になったけど、public_htmlとtDiaryの下をtarでバックアップしていた物に戻したら、ちゃんと動くようになった。何で動くようになったのかは不明。

[tDiary] NOARCHIVEやめ

Googleなどでキャッシュされるのがイヤなのでdiaryとwikiで

<META NAME="ROBOTS" CONTENT="NOARCHIVE, noimageindex, nomediaindex" />

としていたけど、WayBackなどで、歴史が記録されないのも、つまらないので外した。

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索