web-dev-qa-db-ja.com

SSLおよび非SSL URLからワードプレスをサーバする方法

私は自分のルートサーバーの/ var/www/blogに常駐するプラグインのない標準的なワードプレスのインストールをしています。それはApache2、mod_rewrite、mod_sslを使用します、そしてそれはちょうどうまく構成されていて、Wordpress以外のために完全に働きます。

私の.htaccessは:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#RewriteCond %{SERVER_PORT} !^443$
#RewriteRule (.*)  http://%{SERVER_NAME}%{REQUEST_URI}
#RewriteCond %{HTTP_Host} ^somesite.info [NC]
#RewriteRule (.*) https://somesite.info%{REQUEST_URI} [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

いくつか問題があります。

  • Httpとhttps、http://www.https:/www.が必要です
  • FFは私のサイトを問題なく表示します、Chromeはhttp://からCSSとJSをロードします - それは悪いです

私はwp-config.phpに変数を追加しました:

 define('WP_HOME','http:/somesite.info/blog');                                                                                                             
 define('WP_SITEURL','http://somesite.info/blog');                                                                                   

4つのURLスキームすべてがサポートされるように変数を定義するにはどうすればよいですか。コメントで示されている書き換え条件は私をリダイレクトループに終わらせます。私のWordpressはリバースプロキシの背後にあるので、.htacessのものは合わないと思います。

ベスト、ww

1
user33565

私はこれのためにプラグインを使っています WordPress HTTPS 。それでも解決策を自分でコーディングするつもりなら、少なくともそれからいくつかのアイデアを得ることができます。

1
iyrin

WordPress is_ssl()がリバースプロキシの背後で動作していない を読み、 SSL安全でないコンテンツ修復ツール をインストールしてください。 $_SERVER['HTTP_X_FORWARDED_PROTO']に基づいて修正を追加できるかどうかを簡単にテストできます。プラグインの FAQ を見てください。

Network Solutionsが主催する不幸をお持ちの場合は、 この簡単なプラグイン をインストールし、あなたのホームURLとサイトURLをhttps:full timeを使用するように設定してください。

1
webaware