2017-09-22 11 views
0

私のウェブサイトのプロジェクトの1つにHTTPSに関する問題があります。デスクトップのChrome/Opera/Firefoxで開くとうまくいきますが、iPhone Safari/Chromeでは「リダイレクトが多すぎます」というエラーが返されます。これはiPhoneでのみ発生します。ここでは、HTTPSおよび非WWWのWWW(それはファイルの先頭にだ、何のリダイレクトデータは、ファイル全体ではありません)にHTTPをリダイレクトする必要があります.htaccessファイルの内容は次のとおりです。iPhoneのリダイレクトが多すぎますSafari/Chrome

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

私はHTTPSを指摘しなかったのはなぜ?なぜなら、ファイルからRewriteRuleを削除すると、問題なくロードされるからです。

まずはSafariで試してみました。私はインターネットの歴史とクッキーを削除しました。私は新鮮なChromeをダウンロードし、同じ問題が発生します。ですから、私の問題はHTTPSでのみ発生します...なぜですか?

答えて

0

だけ[OR]フラグを使用して一つにリダイレクトをマージ:

RewriteEngine On 
RewriteCond %{HTTPS} !=on [OR] 
RewriteCond %{HTTP_HOST} ^www\. [NC] 
RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [R=301,L] 

これはあなたのルールを組み合わせて、エラーをリダイレクトあまりにも多くを投げてからサーバーを停止する必要があります。最初の条件は、HTTPsがオンでないかどうかを確認し、2番目の条件がwwwが存在するかどうかをチェックします。

いずれかの条件が満たされない場合、HTTPリダイレクトを使用してURLを書き換え、wwwを削除します。

を試す前に、キャッシュをクリアしてください。

+0

を使用してそれを修正:wcbidet.euを(あなたの提案が今そこに適用され、私がexample.comを変更) – debute

0

私は、私が試したが、それでも同じ結果が:(あなたがウェブサイトを参照することができ、次の方法

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

私の現在の状態は 'RewriteCond%{SERVER_PORT} 80'です。かなり同じです:) – debute

+0

%{SERVER_PORT}は%{HTTPS}の代わりに動作します:) –

関連する問題