私は、次のしている:htaccessファイル:選択したディレクトリ上の力のhttpすべてのページとhttps
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} protected [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !protected [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
のディレクトリが「保護」と呼ばれている場合は、ユーザーがHTTPSを使用していることを確認してください。ディレクトリが "protected"以外のものなら、ユーザーがhttpを使用していることを確認してください。
これは効果的ですが、追加のディレクトリを指定するにはどうすればよいですか?
また、ディレクトリを2回指定しなくてもこれを実現できる方法はありますか?それを含めるために1回とそれを除外するために1回?
ありがとうございます!
UPDATE
私の「保護」フォルダが原因私のルールにhttpsを使用することを余儀なくされたものの、まだにリダイレクトされていた「保護」フォルダ内にありませんでした、画像、スタイルシートとJavaScriptのへの参照http。これにより、「保護された」ページが部分的にしか保護されなくなります。 (あなたが誤って削除したことがないLocationMatch
はhtaccessファイルでは使用できませんが、その方法は、あなたが作ることができる)
RewriteRule \.(css|gif|jpe?g|js|png|swf)$ - [L]
良い解決策あなたはhtaccessファイルに限定されている場合:
はここでmod_rewriteを条件に、より詳細です。 – yakatz
.htaccessに制限されていない方がよい解決策は何ですか? –
WordPressを使用している場合は、デフォルトのWordPressが書き換えられる前にこれらを挿入する必要があります。そうしないと、期待通りに動作しない可能性があります。 – cfx