【问题标题】:How to redirect from former CakePHP page a non-CakePHP page using .htaccess如何使用 .htaccess 从以前的 CakePHP 页面重定向非 CakePHP 页面
【发布时间】:2011-04-01 18:01:42
【问题描述】:

我有一些来自我们以前使用 CakePHP 的网站的重定向。新站点有普通的 PHP 页面。当尝试在 .htaccess 文件中重定向以下内容时,我遇到了问题:

Redirect 301 /old-page-here http://samesitename.com/somedirectory/newfilename.php

/old-page-here 的扩展名为 .ctp。当我在浏览器中运行它时,我得到一个循环,其中 newfilename.php 一遍又一遍地出现(以及其他网址信息 - 但不重复)。

我在 CakePHP 输入页码时遇到了类似的问题,例如

Redirect 301 /olddirectory/old-page-here/2 http://samesitename.com/somedirectory/newfilename-2.php

何时将两个目录都添加到网址中。重定向 webroot 目录中(从数据库中提取)中不以斜杠数字结尾的页面已定向成功。

有什么想法吗?

【问题讨论】:

  • 忘了说我们不再安装 CakePHP。
  • 您的 .htaccess 中是否还有其他可能干扰的内容,例如 mod_rewrite 规则?这听起来有点像你正在形成一个循环。
  • 我只有一个重定向 301 的列表 - 没有别的了。
  • 如果省略 .ctp 会发生什么?
  • 基本上,当重定向带有“扩展名”/2 或 /3(或其他数字)的旧文件时,重定向会转到 /newfile.php/2 等。即它正在添加而不是摆脱额外的 /2。

标签: php .htaccess cakephp


【解决方案1】:

也许this 可以在构建您的新网址时派上用场。至于您在仍然安装 cakephp 时重定向的麻烦:我可以想象从“外部”实现这有点复杂,因为在流程 cake 的调度程序的某个地方将地址分解为控制器、动作、参数。从“内部”,你可以做到 redirects 带有状态码。

【讨论】:

  • 太棒了 - 使用了 RedirectMatch 301,似乎已经完成了这项工作。非常感谢,亚当
猜你喜欢
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
相关资源
最近更新 更多