2017-03-21 9 views
1

特定のページとディレクトリ(つまり/login.php)と/ forumディレクトリ内にあるものだけを強制的にHTTPSにする必要があります。サイト上の他のすべてのページは、(たとえ手動でHTTPSとして要求されたとしても)HTTPに強制されるべきです。.htaccessを使用してHTTPSを強制的に1ページ&1ディレクトリに強制しますか?

私は、これを.htaccess経由で動作させるロードブロッキングを打っています...誰でも手伝ってもらえますか?本当にありがとう!

+0

あなたはそれがそうするように、安全でないことを知っていますか?数ページでhttpsだけを使用すると、真ん中にいる人に脆弱で、HSTS(sslstrip攻撃に対する唯一の保護手段)を使用することはできません – Tom

答えて

2

次rewriteRulesを使用することができます。

RewriteEngine on 


#force https for /login.php and /forum 
RewriteCond %{HTTPS} off 
RewriteRule ^(login\.php|forum/.*)$ https://%{HTTP_HOST}/$1 [NE,L,R] 
#redirect everything else to http if requested as https 
RewriteCond %{HTTPS} on 
RewriteRule ^((?!login\.php|forum/.*).*)$ http://%{HTTP_HOST}/$1 [NE,L,R] 
+0

ありがとう!最終的なRewriteRuleですべての.js、.css、.jpg、.gif、.pngファイルやサイトデザインのブレークも無視する必要があるようです。しかし最後の行を修正したときにはこれはうまくいかないようです: RewriteRule ^((?!ログイン\ .php | \ .css | \ .jpg | \ .gif | \ .png | \ .js | forum/。*)。*)$ http://%{HTTP_HOST}/$ 1 [NE、L、R] – pbspry

+0

修正されたコードは** file.cssと一致しません**。この問題を解決するにはカラット**^**を外します。 – starkeen

+0

私はカラットを削除すると、login.phpページ(ogin.phpにリダイレクト) – pbspry

関連する問題