1

http を https にリダイレクトし、さらに www にリダイレクトする .htaccess ファイルを作成しました。非wwwへ。コードは次のとおりです。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteBase /
RewriteCond %{HTTP_HOST} ^www.profstream.com [NC]
RewriteRule ^(.*)$ https://profstream.com/$1 [L,R=301]

これは Chrome、Safari、Opera では問題なく動作しますが、何らかの理由で、たとえば Firefox で profstream.com/sandbox/login.php と入力すると、https: //profstream.com/https://www.profstream.com にリダイレクトされます。 /sandbox/login.php . ここで何が間違っていますか?

4

1 に答える 1

1

[L] と [QSA] が不足していると思われます。これを試してください。

  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Lそれ以外の場合は、この後ルールを使用します。
QSAURLのクエリ文字列を追加することです。

2番目の部分はこれだと思います:

  RewriteCond %{HTTP_HOST} ^www.profstream.com [NC]
  RewriteRule (.*) https://profstream.com%{REQUEST_URI} [QSA,L]

についてわかりませんがRewriteBase /、それは必要ですか?

両方を実現したい場合は、おそらく順序を逆にする必要があります

  RewriteCond %{HTTP_HOST} ^www.profstream.com [NC]
  RewriteRule (.*) https://profstream.com%{REQUEST_URI} [QSA,L]

  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
于 2013-02-05T12:42:10.490 に答える