【发布时间】:2013-02-16 19:06:43
【问题描述】:
您好,目前我从 Godaddy 购买了 SSL 证书并安装在 LoadBalancer 上。我有一个 zend 框架应用程序,但我遇到了将站点重定向到 Https 的问题。以下是我发现将我的网站重定向到 https 的最简单方法的引导代码:
protected function _initForceSSL() {
if($_SERVER['SERVER_PORT'] != '443') {
header('Location: https://' . $_SERVER['HTTP_HOST'] .
$_SERVER['REQUEST_URI']);
exit();
}
不幸的是,服务器错误返回。我在这里想念什么?谢谢
更新:
.htaccess 在文件的根目录
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ public/index.php [NC,L]
【问题讨论】:
-
这些类型的重定向必须在 .htaccess 中完成,而不是在您的应用程序代码中
-
这里有很多答案 - serverfault.com/a/116209/79206
-
我在 .htaccess 上尝试了一些,但仍然没有效果,我更新了上面的问题以包含我的 .htaccess。
-
@emaillenin 对于我的 index.php 在公用文件夹中的情况?我正在使用 Zend 框架
-
$this->getRequest()->isSecure()应该用于检查安全传输。
标签: php zend-framework ssl https