cakephp将url更改为新url
我有CakePHP程序(版本2.1.3),它已经在运行(在Centos 6.x和Apache上) 现在我想将url从:cakephp将url更改为新url,php,cakephp,cakephp-2.1,Php,Cakephp,Cakephp 2.1,我有CakePHP程序(版本2.1.3),它已经在运行(在Centos 6.x和Apache上) 现在我想将url从:http://domain.com/frontend/login 到新url,如:http://domain.com/user-login.html 我更改了routes.php,如下所示: Router::connect( '/:slug.html', array('controller' => 'frontend', 'action' => 'l
http://domain.com/frontend/login
到新url,如:http://domain.com/user-login.html
我更改了routes.php,如下所示:
Router::connect(
'/:slug.html',
array('controller' => 'frontend', 'action' => 'login'),
array(
'pass' => array('slug')
)
);
并在my login.ctp中添加了以下代码:
<?php
echo $html->link('user login',
array(
'controller' => 'frontend',
'action' => 'login',
'slug' => Inflector::slug('user login')));
?>
它成功了,现在我可以使用新的URL访问:http://domain.com/user-login.html
但我仍然可以使用旧url访问:http://domain.com/frontend/login
我只想访问新的URL,并删除旧的URL
我该怎么办?请告诉我细节
谢谢。在您的
routes.php
文件的底部有以下声明:
/**
*加载CakePHP默认路由。如果不想使用,请删除此选项
*内置的默认路由。
*/
需要蛋糕。”配置'。Droutes.php';
只需注释掉
require
行,您应该已经准备好了ptica的答案是很好的,但是如果您想要不禁用所有CakePHP默认路由的东西,那么我会将重定向规则添加到.htaccess文件中:-
Redirect 301 /frontend/login /user-login.html
.htaccess比routes文件中更适合放置重定向,因为这样会更有效。不过,最好在routes文件中对此发表评论,以供将来参考;否则,有一天你或其他人会看到这个项目,并对什么是重定向感到困惑
只要您:-
- 始终使用Cake的路由器/HtmlHelper生成链接,以便使用正确的别名
- 在页面上包含一个,以便搜索引擎使用正确的url
这样应用程序就不应该引用
/frontend/login
前端是控制器,登录是函数,如果你在url中同时写入控制器和操作,那么它是可访问的,如果用户打开此url,那么你需要将用户重定向到第二个url,或者你需要编写代码.httaccess文件我不知道如何更改.htaccess文件。你能告诉我如何配置.htaccess文件吗?我试图在.htaccess文件中像你的代码一样进行设置(在根文件夹中,与app文件夹相同)我无法打开链接:我的期望:打开链接:删除旧链接:我试图配置:RewriteRule^user-login.html/frontend/login/但仍然没有success@haicnpmk44您需要为此打开一个新的StackOverflow问题。确保在问题中显示.htaccess代码。此站点上有许多.htaccess专家。:-)