2012-01-25 10 views
0

に私のウェブサーバは、そのパス、私は簡単に期限切れにするように構成することができ、これらのアプリケーションへの一時的なリンクを持っていると思ったはにProxyPassReverse

http://example.com/app1/ 
http://example.com/app2/ ... 

のように見える、多くのアプリケーションをホストしています。だから私はmysqlの有効期限のあるアプリケーションのURLにtempのマッピングを維持しています。 は、Apacheで私は、MySQL DBを使用して、実際のURLへ

RewriteEngine On 
RewriteMap linkmap prg:/home/http/a.php 

RewriteCond $1 ^[^/]*$ 
RewriteRule /(.*) /$1/ [R=301,L] 
RewriteRule /(.*) /${linkmap:$1} [P] 

a.phpマップの一時URLを以下のように書き換えルールを書かれています。たとえば、 temp1/xyz - > app1/xyz

app1のページが別のページにリダイレクトしようとするまで、すべて正常に動作します。私はmysqlに基づいてURLをマッピングしているので、作成方法を理解することができませんProxyPassReferenceはmysqlから読み込み、リダイレクトURLを置き換えます。 私はProxyPassReferenceルールを手動で指定しようとしましたが、動作します。しかし、手動ですべてのルールを追加することはできません。なぜなら、mysql dbへのリンクを挿入することによって、あるインターフェースを通してリンクを動的に作成できるからです。

リダイレクトの処理を手伝ってください。

答えて

0

私はそれを行う方法を考え出しました。 リライトから、私は正規表現を保存するターゲットURLマップを取得します。それから、補間フラグ付きのProxyPassReverseを使用しました。

ここには1つの問題があります。 URLをマップする私のプログラムはPHPです。それはうまく動作しますが、私はそれが数日後に見える場合は、プログラムが停止していると私はサーバーのエラーを取得し、サーバーを再起動する必要があります。

関連する問題