gpt4 book ai didi

apache - HTTPS 和 Zend 框架

转载 作者:太空宇宙 更新时间:2023-11-03 14:19:13 24 4
gpt4 key购买 nike

我正在尝试将功能性 ZF 应用程序转换为使用 SSL。证书有效且有效,但我在配置应用程序时遇到问题。

这是 .htaccess 中的内容:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

SetEnv APPLICATION_ENV development

IndexController 非常简单:

class IndexController extends Zend_Controller_Action
{
public function indexAction() {
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
$this->_helper->redirector('index', 'dash');
} else {
$this->_helper->redirector('index', 'auth');
}
}

}

当我在没有指定 https 或端口的情况下浏览该站点时,它会准确地将我路由到 https://app-url.com , 但随后尝试重定向到 https://app-url.com/auth并返回 403。我错过了什么?

最佳答案

假设“index”是 Controller 的名称,“dash”是操作的名称,Redirector Helper 的参数1 顺序错误。

第一个参数是 Action ,第二个是 Controller 。所以正确的方法调用是

$this->_helper->redirector('dash', 'index');

如果没有设置特定的路由,这会将您重定向到 URL/index/dash。

如果“dash”确实是 Controller 的名称而“index”确实是操作的名称,只需添加一个名为 DashController 的新 Controller ,其中包含一个 indexAction() 方法和重定向应该有效。

1) 如果您通过 $this->_helper->name 调用助手,这将调用 direct() 方法,在重定向器助手中调用方法 gotoSimple($action, $controller =空,$module = null,数组 $params = array())

关于apache - HTTPS 和 Zend 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11733435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com