动态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 router :: redirect
如果我这样做,我的代码会重定向到类别,但不会重定向到
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文件中使用cake router :: redirect函数。
以下代码仅适用于一个类别,它不会像我希望的那样动态地执行。 我尝试创建一个路由器类,就像你建议的那样为我做这个,但说实话,我不是cakephp的专家。它易于学习和一个伟大的框架我只是不知道如何制作我自己的类或组件。我还没有找到好的文档来做到这一点。
//routes.php
$move='category/'. stripslashes_deep ($_SERVER['REQUEST_URI']); Router::redirect('/:slug/*',$move, array('status' => 302)); code
答案 0 :(得分:0)
您最好的选择是使用自定义路线类。
自定义路由扩展了CakeRoute类,允许您返回/添加/修改传递的参数。