2017-12-20 13 views
0

httpsがhttpにリダイレクトされ、www以外のすべてのwww要求がwww以外のhtaccessドメイン構成を設定する必要があります。私は次のコードで解決できると思ったが正しく動作しない。 http://www.example.comからhttp://example.comにリダイレクトされます。 httpsリクエストは、たとえばhttps://example.comは、接続が安全でないことを示唆しています。htaccess - httpと非wwwを強制する方法

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

# Redirect HTTPS to HTTP 
RewriteCond %{HTTPS} on 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

# Force non-www 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [L,R=301] 

</IfModule> 
+0

https://example.comにアクセスするユーザーエージェントを実行しているのと同じマシンで、Apacheをローカルで実行していますか? RewriteCond%{HTTPS}部分がすべてのネットワークで機能しない場合があります。いくつかのリバースプロキシでは、RewriteCond%{HTTP:X-Forwarded-SSL}が必要です。 –

+0

私はApacheをローカルで実行しません。これはcPanelを持つ共有ホストですが、sshアクセスはありません。私はPHPで%{HTTPS}をチェックし、https://example.comを要求している間はhttpsがアクティブであることを示しています。 example.comは例です。実際のドメインはここに隠されています。 – udgru

答えて

0

ほとんどの場合、共有ホストはサイトへのすべてのHTTP接続をプロキシし、HTTPS経由で転送します。クライアントからの接続は表示されず、共有ホストプロキシからの接続だけが表示されます。共有ホストに、Forwarded-SSL(またはX-Forwarded-SSL)などのHTTPヘッダーに必要な情報を通知するかどうかを尋ねます。

+0

私は情報を求め、それが問題を解決したかどうかを伝えます。 – udgru

+0

ISPは私に次のように言ってくれました: "ウェブスペースパッケージにはhttpsがありません。ポート443を使用するにはSSLが必要です。" – udgru

+0

しかし、ISPはクライアントに不正な証明書を使用してHTTPS://example.comに接続することを許可していますか?私はあなたのISPからテクニカルまたはセールスのサポートを受けるか、プロバイダーを切り替えるだけでよいと思います。私はPageKiteをお勧めします。なぜならあなたは自宅の自分のコンピュータでWebサイトをホストしているからです。 –

関連する問題