2016-03-23 2 views
2

特定のフォルダ(たとえば、「public_html/folder1」)のHTTPSに行くには、HTTP経由ですべての接続を強制しなければなりませんでした。私はどこかのチュートリアルを発見し、.htaccessファイルに次のように使用:例外を指定してHTTPからHTTPSに強制する方法はありますか?

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} folder 
RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L] 

問題は、どのように私は作るのですか、私はHTTPだけでなく、HTTPSを介してアクセスすることを許可すべきことであるが、folder1の内部のフォルダを持っている、です例外? (つまり、私は、例えばfolder1/subfolder1にHTTP経由でアクセスすることを許可したい)。

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} ^/folder/((?!subfolder).*)$ 

RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L] 

リクエストURI文字列/folder/.*に一致する文字列がそうルールが適用されていない/folder/subfolder/.*あるとき、それは一致doesntの^/folder/((?!subfolde).*)パターン:

おかげ

+0

なぜすべてを強制的にhttpsしないのか聞かれますか?より安全で、ドメインのHSTSをアクティブにすることができます。これは、中間者攻撃に対する唯一の防御です。 – Tom

答えて

3

はこれを試してみてください。

+1

ありがとう、それはそれでした:) – MAR

関連する問題