0

他のルールを維持しながら、SSL への mod_rewrite に問題があります。すべてのページを SSL にする必要がありますが、ルールを追加するとリダイレクト ループが発生します。

これが私がこれまでに持っているものです:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule (.*) https://www.domain.com/ [R=301]

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

RewriteBase /

# Sign up
RewriteRule ^sign-up/$ /register.php [NC]

ここでどこが間違っているのでしょうか?リールの順序を変更しようとしましたが、うまくいきませんでした。

乾杯、RJ

4

2 に答える 2

1

[L]次のフラグを使用して、書き換えの繰り返しを終了する必要があります。

RewriteEngine on

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

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

RewriteBase /

# Sign up
RewriteRule ^sign-up/$ /register.php [NC]
于 2012-09-28T20:43:13.153 に答える
0

私はこれを理解しました。これは、Webサーバーがロードバランサーの背後にあることが原因であることが判明しました。

そのため、見つけるのに時間がかかりましたが、ロードバランサーの背後にある複数のサーバーで同様の問題が発生している場合は、次のようにします。

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

ありがとう、RJ

于 2012-12-05T15:32:36.777 に答える