使用路由器的动态 html 重定向
一开始我没有分类,我所有的页面都是root
例子:
http://domain/somepage
这很棒,但是随着这些年来我的内容不断增长,我需要对我的内容进行分类
所以我添加了一些路线,见下文 //routes.php
Router::connect(
"/:category/:slug",
array('controller' => 'controllername', 'action' => 'view'),
array(
'name'=>'[-A-Z0-9]+',
'pass' => array('category','slug')
)
);
//结束这很好,完成了我需要做的事情,但是搜索引擎有一个问题。我需要为我的所有链接写 301,我有超过 8K 的页面。
解决方案 cakesphp 的 Router::redirect
我现在遇到的问题是我无法弄清楚如何重定向我的旧链接。例如,我可以将所有链接重定向到一个类别,但这不会削减它。我需要将所有链接重定向到新位置。
我正在尝试使用 routes.php 路由器 :: 重定向
如果我这样做,我的代码会重定向到类别,而不是 slug
Router::redirect(
'/:slug/*',
array(
'pass' => array('category/:slug'))
结果
http://domain/category/
我怎样才能让蛋糕重定向到
http://domain/category/slug ?
instead of http://domain/category/
我的所有链接都指向根目录
http://domain/somepage
http://domain/anotherpage
http://domain/ect
我需要添加类别
如
`
http://domain.com/phones/samsung.php
http://domain.com/books/cakephp.php
`
我不想使用 .htaccees 文件,因为
我的软管提供将我限制为 100 次重定向
我有超过 8K 的链接需要重定向
我正在尝试在 routes.php 文件中使用 cakes 路由器 ::redirect 功能。
下面的代码仅适用于一个类别,它不会像我想要的那样动态地执行它。我尝试创建一个路由器类,可以按照您的建议为我执行此操作,但老实说,我不是 cakephp 专家。它易于学习并且是一个很棒的框架,我只是还不知道如何制作自己的类或组件。我只是还没有找到好的文档来做到这一点。
//routes.php
$move='category/'. stripslashes_deep ($_SERVER['REQUEST_URI']); Router::redirect('/:slug/*',$move, array('status' => 302)); code