【问题标题】:CakePHP Support Legacy URLCakePHP 支持旧版 URL
【发布时间】:2013-07-23 20:05:30
【问题描述】:

我有一个我绝对必须支持的旧版网址,格式如下:

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

该站点的新版本是在 CakePHP 2.4 中完成的,所以我想将它重定向到一个实际的控制器动作并将散列参数传递给它。在 CakePHP 中实现这一点的最佳方法是什么?

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    我会使用 .htaccess 文件

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

    【讨论】:

      【解决方案2】:

      您需要让服务器以永久重定向 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');
          }
      

      我也不知道它需要重定向到哪里,但这只是一个例子。

      【讨论】:

        猜你喜欢
        • 2021-07-05
        • 2013-10-29
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多