我正在使用安全组件forcessl强制整个网站使用https。
对于https://www.domain.com/pages/detail/terms,在.htaccess文件中,我正在重写规则如下
RewriteRule ^(terms)$ pages/detail/$1/ [L]
所以它应该重定向到https://www.domain.com/terms。
使用https://domain.com/terms访问条款页面时,它会重定向到https://www.domain.com/terms。
使用http://domain.com/terms访问术语页面时,它会重定向到https://www.domain.com/pages/detail/terms。
这是因为控制器中的forcessl:
$this->redirect('https://' . $_SERVER['SERVER_NAME'] . $this->here);
$this->here
指向原始页面(页面/详细信息/术语)。如何解决此问题。
答案 0 :(得分:0)
您是否尝试过使用Cake PHP的路由功能?在config/routes.php
中添加以下内容:
Router::connect(
'/terms',
array(
'controller' => 'pages',
'action' => 'detail',
'terms'
)
);