我有一个用rails重写的应用程序。旧应用程序在php中。
我需要将所有php请求重定向到子域old.example.com(我已将旧应用程序运行到那里),以便旧链接仍然有效。我相信所有链接中都有一个“.php”,我的新网址都没有。因此它可以用作重定向的条件。
我计划使用apache RedirectMatch。如下所示:
RedirectMatch \.php http://old.example.com
应该很接近。我相信。我只是不知道如何将请求路径传递给重定向规则。
或者,如果有人更了解如何做到这一点?
答案 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]