.htaccess CakePHP2.3.:URL重写不起作用
我们刚从一个Web服务器迁移到另一个Web服务器。 我有一个简单的静态网站,并使用此方法重写URL: default.ctp.htaccess CakePHP2.3.:URL重写不起作用,.htaccess,cakephp,.htaccess,Cakephp,我们刚从一个Web服务器迁移到另一个Web服务器。 我有一个简单的静态网站,并使用此方法重写URL: default.ctp <?=$this->Html->link(__('Imprint'), array('controller' => 'pages', 'action' => 'imprint'));?> 在旧的Web服务器上,链接显示为:domain.com/imprint 在新服务器上,它显示为domain.com/pages/imprint 页面
<?=$this->Html->link(__('Imprint'), array('controller' => 'pages', 'action' => 'imprint'));?>
在旧的Web服务器上,链接显示为:domain.com/imprint
在新服务器上,它显示为domain.com/pages/imprint
页面正在运行,没有断开的链接。
我已经在htaccess文件中设置了“RewriteBase/”
如何让url重写恢复工作?
我目前不知道会有什么错误,因为我移动了另一个蛋糕项目,也是一个静态项目,那里的链接从一开始就工作得很好。我不知道,为什么这个项目是不同的,我比较了htaccess文件,核心,路线。。。我真的看不出问题…使用:
$this->Html->link(__('Imprint'), array('controller' => 'pages', 'action' => 'display', 'imprint'));
使用:
使用:
使用:
我不知道这与服务器有什么关系,也不知道你的URL数组如何匹配这些路由 秩序问题 路由是从“上到下”处理的,因此您必须确保在通用路由之前定义特定路由 在您的情况下,
/pages/*
路由优先,它会像您的/print
路由一样吞并后续的每个页面路由
因此,更改顺序,将/print
放在/pages/*
之前:
Router::connect('/imprint', array('controller' => 'pages', 'action' => 'display', 'imprint'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
反向路由
您用于生成链接的URL数组看起来与您的任何路由都不匹配。它既不指定显示
操作,也不指定页面名称参数
生成链接时,请使用适当的URL数组,如@kicaj所示
array('controller' => 'pages', 'action' => 'display', 'imprint')
我不知道这与服务器有什么关系,也不知道你的URL数组如何匹配这些路由 秩序问题 路由是从“上到下”处理的,因此您必须确保在通用路由之前定义特定路由 在您的情况下,
/pages/*
路由优先,它会像您的/print
路由一样吞并后续的每个页面路由
因此,更改顺序,将/print
放在/pages/*
之前:
Router::connect('/imprint', array('controller' => 'pages', 'action' => 'display', 'imprint'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
反向路由
您用于生成链接的URL数组看起来与您的任何路由都不匹配。它既不指定显示
操作,也不指定页面名称参数
生成链接时,请使用适当的URL数组,如@kicaj所示
array('controller' => 'pages', 'action' => 'display', 'imprint')
我不知道这与服务器有什么关系,也不知道你的URL数组如何匹配这些路由 秩序问题 路由是从“上到下”处理的,因此您必须确保在通用路由之前定义特定路由 在您的情况下,
/pages/*
路由优先,它会像您的/print
路由一样吞并后续的每个页面路由
因此,更改顺序,将/print
放在/pages/*
之前:
Router::connect('/imprint', array('controller' => 'pages', 'action' => 'display', 'imprint'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
反向路由
您用于生成链接的URL数组看起来与您的任何路由都不匹配。它既不指定显示
操作,也不指定页面名称参数
生成链接时,请使用适当的URL数组,如@kicaj所示
array('controller' => 'pages', 'action' => 'display', 'imprint')
我不知道这与服务器有什么关系,也不知道你的URL数组如何匹配这些路由 秩序问题 路由是从“上到下”处理的,因此您必须确保在通用路由之前定义特定路由 在您的情况下,
/pages/*
路由优先,它会像您的/print
路由一样吞并后续的每个页面路由
因此,更改顺序,将/print
放在/pages/*
之前:
Router::connect('/imprint', array('controller' => 'pages', 'action' => 'display', 'imprint'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
反向路由
您用于生成链接的URL数组看起来与您的任何路由都不匹配。它既不指定显示
操作,也不指定页面名称参数
生成链接时,请使用适当的URL数组,如@kicaj所示
array('controller' => 'pages', 'action' => 'display', 'imprint')
对不起,那没用。没什么变化。对不起,那没用。没什么变化。对不起,那没用。没什么变化。对不起,那没用。没有什么变化。