如何将所有php请求重定向到不同的子域

时间:2012-07-11 13:26:57

标签: redirect apache2 subdomain

我有一个用rails重写的应用程序。旧应用程序在php中。

我需要将所有php请求重定向到子域old.example.com(我已将旧应用程序运行到那里),以便旧链接仍然有效。我相信所有链接中都有一个“.php”,我的新网址都没有。因此它可以用作重定向的条件。

我计划使用apache RedirectMatch。如下所示:

RedirectMatch \.php http://old.example.com

应该很接近。我相信。我只是不知道如何将请求路径传递给重定向规则。

或者,如果有人更了解如何做到这一点?

1 个答案:

答案 0 :(得分:1)

使用Apache mod重写,您将使用以下内容:

RewriteEngine On
RewriteBase /
RewriteRule ^.*\.php.*$ http://old.example.com/index.php [R=301,NC]

如果您想在重定向网址中实际插入他们尝试访问的网页:

RewriteEngine On
RewriteBase /
RewriteRule ^/?(.*)\.php.*$ http://old.example.com/$1.php [R=301,NC]

$1将在括号中插入与正则表达式匹配的任何内容。

对于GET参数:

RewriteEngine On
RewriteBase /
RewriteRule ^/?(.*)\.php(.*)$ http://old.example.com/$1.php$2 [R=301,NC]