2016-08-02 27 views
0

Apache 2.2から2.4にアップグレードしましたが、1つのタイプのURL書き換えルールを除き、すべてが期待どおりに機能しています。次のルールは機能していないようです。セキュリティのためにIPアドレスを削除しました。Apache HTTPD 2.4 URL書き換えルール

のRewriteRule /xmldb/VATIncidentPoint/(.*)$ http://x.x.x.x:8080/exist/rest/db/VATIncidentPoint/ $ {user2group:%{LA-U:REMOTE_USER}}でRequestHeader解除許可 RewriteEngine/$ 1 [P]を

これは何が起こっているか表示されていますuser2groupを含むセクションが、そのユーザーが属しているグループに置き換えられていないことを確認します。この結果、グループの「//」で置き換えられる代わりに、URLの最後に2つのスラッシュが表示されます。 2.4でこれを行う別の方法は2.2よりもありますか?

ありがとうございます!

+0

* UPDATE * - mod_rewriteのロギングを有効にした後、REMOTE_USER変数が設定されていないことがわかりました。そのため、user2groupマップのルックアップは失敗しています。この変数がApache 2.4で動作しない理由は何か。私はそれが2.2で動作することを知っていると私はここでそれを使用して読んで:http://httpd.apache.org/docs/current/mod/mod_rewrite.html –

答えて

0

問題はLocationブロックに2つのrequireステートメントがあることでした。

はすべて許可さを必要とし、これは、REMOTE_USER値が見上げていないので、マップから返されることは何も生じないことが決してさせた有効なユーザー

を必要としています。 'Require all granted'を削除し、 'Require valid-user'を残しておくと、問題が解決されました。

関連する問題