【发布时间】:2011-07-14 09:33:35
【问题描述】:
我正在迁移一个大型网站(每个页面都进行了重大更改),并且希望在每个页面完成后自动将一组测试用户从当前网站重定向到新网站。
是什么
www.mysite.com/admin/somefile.php
会变成
admin.mysite.com/somefile.php
当每个页面都迁移到新站点时,我希望来自特定 IP 地址的用户自动重定向到该站点。这看起来像是 RewriteCond 的“-U”(现有 URL)标志的情况。 mod_rewrite 语句(对于 www.mysite.com)将类似于
RewriteEngine On
RewriteCond %{REMOTE_ADDR} 123\.123\.123\.123 # for test users only
RewriteCond http://admin.mysite.com/$1 -U # if new page exists
RewriteRule /admin/(.*) http://admin.mysite.com/$1 [R=302,L] # then redirect
但是,这似乎不起作用 - 可能是因为在定义之前引用了 $1 参数?
谁能建议如何实现这一点?
谢谢,克里斯
【问题讨论】:
-
是的,您可以在此处引用 $1 - RewriteCond 何时被评估(首先评估 RewriteRule 的模式)将知道。我只是不确定
-U是否以这种方式工作(如果 admin.mysite 声明为单独的站点)。无论如何——我建议启用重写调试 (RewriteLogLevel 9) 并检查重写日志以获取确切的详细信息。
标签: apache mod-rewrite