0
基本上我有2个独立的代码库,v1和v2是为了这个例子。我想将v1站点的某个区域重定向到v2,以便我们可以定期将旧代码移植到新代码中。Apache重写某些网址来分隔部分代码库
现在,我已经完成了这种精确的代码移植,我只是不记得确切的细节,以及我们是否做了一些apache voodoo来使它工作。这一次,我可以让它打到v2代码,但随后的请求使用v1 vhost,因此图像v2请求正在转换为v1的路径并且不存在。
所以我想domain1.com/foo/bar得到重定向到V2的代码库,在V1虚拟主机(在/ home /域1)我有:
RewriteRule ^/foo/?([0-9a-zA-Z]*)/?(([0-9a-zA-Z/]*))$ /home/domain2/index.php?controller=foo&action=$1¶ms=$2 [NC,L]
这成功地抓住了请求,并将它到v2代码库,但是然后v2代码库继续使用v1 vhost。很显然,我希望它击中了v2的代码库,并开始使用虚拟主机,但不使用外部重定向[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=¶ms='
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=¶ms= -> uri=/home/domain2/index.php, args=controller=foo&action=¶ms=
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'
...
...
谁能帮助最后一步!?
谢谢,但这不能正常工作,我不记得上次我使用P标志。 – jmoz 2009-04-24 09:22:49