2016-03-29 7 views
0

httpsに2つのhttpページを強制しようとしています。私は、ログインページをしたとき、それは完璧に動作します:何かが間違っていた、明らかにRewriteRuleの最初のルールが機能し、2番目のルールがhttpsにリダイレクトされない

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^login\.htm$ https://www.sample.com/dev/login.htm [R=301,NC,L] 
RewriteRule ^register\.htm$ https://www.sample.com/dev/register.htm [R=301,NC,L] 

:私は2番目のページを追加しようとしたとき

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^login\.htm$ https://www.sample.com/dev/login.htm [R=301,NC,L] 

をしかし、私はこれを使用してサーバーのエラーを得ました。

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^login\.htm$ https://www.sample.com/dev/login.htm [R=301,NC,L] 
Redirect ^register\.htm$ https://www.sample.com/dev/register.htm [R=301,NC,L] 

サイトが戻って来たが、2ページ目はまったくhttpsに強制されていません。だから私は、それは単にリダイレクト代わりにするRewriteRuleの2ページ目にするように変更しました。私はすべてをチェックして、それは動作するはずですが、そうではありません。あなたの助けに感謝します。

答えて

1

書き換え条件は、直後の規則にのみ適用されます。

オプション1:だから、次の2つのオプション持っを繰り返し、各ルールの条件を

RewriteCond %{HTTPS} off 
RewriteRule ^login.htm$ https://www.sample.com/dev/login.htm [R=301,NC,L] 

RewriteCond %{HTTPS} off 
RewriteRule ^register.htm$ https://www.sample.com/dev/register.htm [R=301,NC,L] 

オプション2:両方のURIに一致する利用のルール

RewriteCond %{HTTPS} off 
RewriteRule ^(login|register).htm$ https://www.sample.com/dev/$1.htm [R=301,NC,L] 
関連する問題