Cakephp 路由仅适用于没有前缀的前端页面

标签 cakephp routes

我正在现场工作

http://solarsmart.com.pk/

我已经为页面创建了一个 Controller 和操作,它根据以下网址的最后两个值从数据库获取所有页面数据

http://solarsmart.com.pk/pages/page/about/about-us

我想删除分别是 Controller 和操作的/pages/page。如果我将路线设置如下

Router::connect('/*', array('controller' => 'pages', 'action' => 'page','manager'=>FALSE));

它有效,但随后出现的问题是管理路由页面也重定向到 pages/page 我希望它们保持现在的样子

最佳答案

我遇到了同样的问题以及我做了什么 我从 Router 类获取了 url,例如

$curUrl = Router::url();// returns the current url of the page
$curUrl = explode('/', $curUrl); // exploding on the base of '/'

然后我检查了 url 是否具有所需的前缀 在您的情况下将如下所示

if (!in_array('admin', $curUrl)) {
    Router::connect('/*', array('controller' => 'pages', 'action' => 'page', 'admin' => FALSE));
}

关于Cakephp 路由仅适用于没有前缀的前端页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22587771/

相关文章:

rest - 如何从其他包中导入子路线

google-maps-api-3 - Google Maps v3在两点之间创建路线

php - 来自mysql存储过程和php json_decode的正确格式的关联数组

php - 这是使用 CakePHP 2.4 添加 META 标签的正确方法吗?

cakephp - fetch 函数如何在 cakephp 布局 View 中工作

python - 无法让 Django 声明的应用程序路由作为页面工作

c# - ASP.NET Web 窗体中的 ASMX Web 服务路由

mysql - cakePHP 运行单元测试的问题

php - 交叉表引用

c# - 我的 MVC4 路由、参数、构造函数有什么问题?