4

こんにちは、現在、Godaddy から SSL 証明書を購入し、LoadBalancer にインストールしています。Zend フレームワーク アプリを持っていますが、Https へのサイト リダイレクトに問題があります。以下は、サイトを https にリダイレクトする最も簡単な方法を見つけた Bootstrap コードです。

 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]
4

3 に答える 3

1

Zend Framework を使用しているため、.htaccess ファイルで次のコードを試すことができます。

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R=301,L]

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

それがうまくいくかどうか教えてください!

于 2013-03-02T12:56:04.643 に答える
1

この関数を Bootstrap ファイルに追加するだけです。

protected function _initForceSSL() {
    if($_SERVER['SERVER_PORT'] != '443') {
        header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
        exit();
    }
}
于 2018-06-21T03:58:10.427 に答える