2008年4月 7日

[Apache-Users 7027] Re:SSL + mod_rewriteのURL書き換えについて

** Apache ユーザーズメーリングリスト **
** 注意:このメールへの返信は Apache-Users へ行きます **

佐久間様

お忙しいところ、ご回答ありがとうございます。

>質問の意図を取り違えていました.

> URL を書き換えるのではなく,見せないようにするんですね.

質問の書き方が誤解をさせてしまったようで、申し訳ございません。
https://www.example.com/secret/access/123456 でアクセスすると
https://www.example.com/secret/access.php?id=123456 にアクセスさせるようにしたいのです。


> それだったら,mod_proxy を有効にした Apache で,[P] フラグを立てれば OK だと思います。

config.nice --enable-proxy として再度コンパイルしました。
(prefixは /usr/local/apacheです。)
/usr/local/apache/bin/httpd -l とすると、
mod_proxy.c
mod_proxy_connect.c
mod_proxy_ftp.c
mod_proxy_http.c
mod_proxy_ajp.c
mod_proxy_balancer.c
上記が表示され、mod_proxyのコンパイル自体は成功したようです。
(ただ、mod_proxyを使うのが初めてなので、有効に機能しているかはわかりません。)


この状態で、以下の項目を試しましたが、
前回ご指導いただいた内容に[P]を追加し試してみましたが、うまくいきませんでした。


+--- ここから

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
ServerName www.example.com

RewriteRule On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/admin_only/(.*)?$ https://%{HTTP_HOST}/admin_only/$1
RewriteRule ^/secret/(.*)?$ https://%{HTTP_HOST}/secret/$1
</VirtualHost>


<VirtualHost *:443>
ServerName www.example.com

RewriteEngine On
RewriteRule ^/secret/access/(.+)/$ /secret/access.php?id=$1 [P]
</VirtualHost>

+--- ここまで

試した内容は、以下の通りです。
1、httpd.conf の最終行に上記内容を追記した。
2、conf/extra/httpd-vhosts.conf の全行をコメントアウトし、上記を追記。
  httpd.confの #Include conf/extra/httpd-vhosts.conf の前の#を削除した。
3、httpd.confの<IfModule mod_rewrite.c>〜</IfModule>の間に上記内容を追記した。


結果は、
http://www.example.com/secret/access/123456/ でアクセスすると、
https://www.example.com/secret/access.php?id=123456 と、接続後にブラウザのURL欄に表示されてしまいます。
SSLでの接続には変わるようです。

以下のように最初からSSL付きでアクセスすると、404エラーが返ってきます。
https://www.example.com/secret/access/123456/


mod_rewriteで、http:// から https:// に書き換えているので、下の条件が読み込まれていないのでしょうか?
 RewriteRule ^/secret/access/(.+)/$ /secret/access.php?id=$1 [P]

あと、申し遅れましたが、
chroot /chroot /usr/local/apache/bin/httpd として、chroot環境下でApacheを動作させています。
これが影響しているのかと思い、普通に(chrootしないで)試してみましたが、結果は同じでした。

他に設定すべきところなどございましたら、
お忙しいところ恐縮ですが、ご指導をよろしくお願いいたします。

--
入退会・変更・配送一時停止は以下へ
http://mm.apache.jp/mailman/listinfo/apache-users

投稿者 xml-rpc : 2008年4月 7日 13:28
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/71878
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。