2008年4月 3日

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

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

初めて投稿させていただきます。
よろしくお願いします。

環境は以下の通りです。
 CentOS4

 Apache2.2.8
 PHP 5.2.5

問題のディレクトリ
http://www.example.com/admin_only/
http://www.example.com/secret/

上記二つのディレクトリについて、以下のような設定をしたいと思います。
希望1
   上記のディレクトリに対して、https(SSL)のみのアクセスに制限したい。
   (これはうまく動作しています。http://で、上記ディレクトリ内のどのファイルにアクセスしても、https://に変わります。)

希望2
  secretディレクトリ内にaccess.phpをいうファイルを置き、
  次のアドレスに対して
https://www.example.com/secret/access.php?id=123456

  このようなURLでアクセスしたい。
https://www.example.com/secret/access/123456/

mod_rewriteを設定することで、可能だということまではわかったのですが、うまくいきません。
問題は2点ありまして、

問題1
  httpsで始まるSSL用のアドレスでは、404エラーが返ってきて、ページが表示されません。

問題2
  http://www.example.com/secret/access/123456/ とすると、リダイレクト後のブラウザのURL欄が、
  https://www.example.com/secret/access.php?id=123456 という具合に、
  https://には変わるのですが、元のアドレスに戻ってしまいます。

mod_rewriteについては、httpd.confで、次のように設定しています。

<If Module mod_rewrite.c>
RewriteEngine On
RewriteRule ^/secret/access/(.+)/$ /secret/access.php?id=$1
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/admin_only/(.*)?$ https://%{HTTP_HOST}/admin_only/$1
RewriteRule ^/secret/(.*)?$ https://%{HTTP_HOST}/secret/$1
</IfModule>


設定が間違っているところ、確認すべき点などがありましたら、ご指導ください。
よろしくおねがいします。

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

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




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