我已经运行了CakePHP程序(版本2.1.3)(在Centos 6.x和Apache上)。
现在我要更改来自:http://domain.com/frontend/login
到新的网址:http://domain.com/user-login.html
我改变了routes.php,如下所示:
Router::connect(
'/:slug.html',
array('controller' => 'frontend', 'action' => 'login'),
array(
'pass' => array('slug')
)
);
并在我的login.ctp中添加了以下代码:
<?php
echo $html->link('user login',
array(
'controller' => 'frontend',
'action' => 'login',
'slug' => Inflector::slug('user login')));
?>
成功,现在我可以使用新网址访问:http://domain.com/user-login.html
但我仍然可以使用旧网址访问:http://domain.com/frontend/login
我只想访问新网址,并删除旧网址。
我该怎么办?请指导我的详细信息。
感谢。
答案 0 :(得分:2)
Redirect 301 /frontend/login /user-login.html
.htaccess是一个更好的放置重定向的地方,而不是路由文件,因为它会更有效率。在路线文件中对此进行评论以供将来参考可能是个好主意;否则你或其他人有一天会看到这个项目,并对重定向的内容感到困惑!
只要你这样做,离开路线就不会有问题: -
这样应用就不应该引用/frontend/login
。
答案 1 :(得分:1)
在routes.php
文件的底部有以下声明:
/**
* Load the CakePHP default routes. Remove this if you do not want to use
* the built-in default routes.
*/
require CAKE . 'Config' . DS . 'routes.php';
只需注释掉require
行,您就应该全部设置