CakePHP支持旧版URL

时间:2013-07-23 20:05:30

标签: php cakephp

我有一个我绝对需要支持的遗留网址,格式如下:

http://domain.com/page.php?hash=crazymd5hashhere

该站点的新版本正在CakePHP 2.4中完成,因此我想将其重定向到实际的控制器操作并将散列参数传递给它。在CakePHP中完成此任务的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

我会使用.htaccess文件

RewriteCond %{REQUEST_URI} ^/page.php$
RewriteRule ^(.*)$ /controller_name/ [QSA,L,R=301]

答案 1 :(得分:1)

您需要让服务器使用永久重定向301代码响应新地址。这将由浏览器缓存,并告诉搜索引擎从索引中删除旧内容。

最简单,最快捷的方法是在您的webroot中创建一个发出重定向的page.php文件。

 <?php
    if(isset($_GET["hash"]))
    {
       $location = "/controller/action/hash:"+$_GET["hash"];
       header ('HTTP/1.1 301 Moved Permanently');
       header ('Location: '.$location);
    }
    else
    {
       header('HTTP/1.0 404 Not Found');
    }

我不知道它需要重定向的位置,但这只是一个例子。