0

基本的に、この例のために v1 と v2 の 2 つの別個のコード ベースがあります。古いコードを新しいコードに定期的に移植できるように、v1 サイトの特定の領域を v2 にリダイレクトしたいと考えています。

さて、私は以前にこのようなコードの移植を行ったことがありますが、正確な詳細と、それを機能させるために apache ブードゥー教を行ったかどうかを思い出せません。今回は v2 コードをヒットさせることができますが、その後のリクエストは v1 vhost を使用するため、v2 がリクエストしている画像は v1 のパスに変換され、存在しません。

したがって、v1 vhost (/home/domain1 の下) で、domain1.com/foo/bar を v2 コードベースにリダイレクトする必要があります。

RewriteRule ^/foo/?([0-9a-zA-Z]*)/?(([0-9a-zA-Z/]*))$ /home/domain2/index.php?controller=foo&action=$1&params=$2 [NC,L]

これにより、リクエストが正常にキャッチされて v2 コードベースに渡されますが、v2 コードベースは引き続き v1 vhost を使用します。明らかに、v2 コードベースにヒットし、その vhost の使用を開始したいのですが、外部リダイレクトは使用しません [R]

書き換えログからの出力は次のとおりです。

192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#81783540/initial] (2) init rewrite engine with requested uri /foo
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#81783540/initial] (3) applying pattern '^/foo/?([0-9a-zA-Z]*)/?(([0-9a-zA-Z/]*))$' to uri '/foo'
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#81783540/initial] (2) rewrite '/foo' -> '/home/domain2/index.php?controller=foo&action=&params='
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#81783540/initial] (3) split uri=/home/domain2/index.php?controller=foo&action=&params= -> uri=/home/domain2/index.php, args=controller=foo&action=&params=
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#81783540/initial] (2) local path result: /home/domain2/index.php
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#81783540/initial] (1) go-ahead with /home/domain2/index.php [OK]
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#8175e4b0/initial] (2) init rewrite engine with requested uri /images/layouts/standard/header/header_logo.gif
192.168.1.64 - - [23/Apr/2009:17:04:11 +0100] [domain1.com/sid#813071d0][rid#8175e4b0/initial] (3) applying pattern '^/foo/?([0-9a-zA-Z]*)/?(([0-9a-zA-Z/]*))$' to uri '/images/layouts/standard/header/header_logo.gif'
...
...

最後のステップを手伝ってくれる人はいますか!?

4

1 に答える 1

1

別のサーバーへのプロキシ呼び出しを行う場合は、フラグに P を追加します。

于 2009-04-23T17:06:02.367 に答える