http://httpd.apache.org/ いわずとしれた、HTTPServerである。 100514_11_35 Snow Leopard になって、またディレクトリが変わってる httpd.confは /private/etc/apache2/ で、ログの吐き出し先も /private/var/log/apache2/ になっている。 090409_10_34 Leopard になってから、port のapache2より元から入っているのを使うことが多くなった。 どっちでもいいっちゃ、いいのだが。 httpd.confは /private/etc/httpd/ に入っている。 で、ちょっとテストの都合上、リバースプロキシが必要になったので、設定してみた。 なにがしたいかというと、 test.yyy.jp というテストサーバに配置されているものを xxx.jpにホストされているように、ブラウザにみせたい。 まず、 LoadModule proxy_module libexec/httpd/libproxy.so AddModule mod_proxy.c このあたりのコメントアウトを外して、 <VirtualHost _default_> ErrorLog "/private/var/log/httpd/error_log_rp.log" CustomLog "/private/var/log/httpd/access_log_rp.log" common ProxyPass / http://test.yyy.jp/ ProxyPassReverse / http://test.yyy.jp/ </VirtualHost> http://localhost/ とかで、 http://test.yyy.jp/ が見えてればオッケ。 後、hosts ファイルに 127.0.0.1 xxx.jp としておく。 すると、 http://xxx.jp/ とブラウザのアドレスバーに入れると、そのアドレスで http://test.yyy.jp/ が見えるというわけ。 以前は、netinfoを通さないと、hostsの設定が有効にならなかったのだが、 Leopardになってからなのか、hostsを書き換えればその場で反映されるようになったみたい。 mod_rewrite社内サーバの名称を 6f-48 > wallaby に変えたわけだけど、設定ファイルを全部いじくるのは面倒くさい。でも、ほっとくと、きっとみんな 6f-48で使い続けるだろうな。 ということで、6f-48にアクセスしたら wallabyにとばすように設定することにした。 <IfModule mod_rewrite.c> http://cubic9.com/Linux/Apache/%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB/ サイト移転って話しの時も、SEO対策的だったり、外部からの既存リンク対策的に、結構重要だったりする。 [R=301]は、この場合不要だけど、別についてても問題ないはず。 ところが、ここでひっかかった。pukiwikiはUTF-8に設定していて、モダンブラウザでみるとURLが日本語化されて読みやすく+短くなるのだけど、6f-48 の方からアクセスすると新しいページの編集画面に飛んでしまう。 あらかじめ、wallabyからアクセスする場合は問題ない。 で、同僚に相談したところ、解決しました。 URLエンコードされた内容が、更にエンコードされているためなので、NEってオプションつければいけるらしい。 http://httpd.apache.org/docs/2.0/ja/mod/mod_rewrite.html noescape|NE で引いたとこに書いてある。 RewriteRule ^/(.*) http://wallaby.imjp.co.jp:8800/$1 [R=301,L,NE]ということで、いけました。 |
Home > ProgramTool >