2017-09-15 12 views
-3

私はこの質問を検索しましたが、私にとっては答えが得られません。.htaccessで1つのフォルダを除いてHTTPSにリダイレクトする方法

私はウェブサイト全体をHTTP/HTTPSから/ games /フォルダ内の項目を除いてリダイレクトしようとしています。

私は/ games /の代わりに、HTTPSからHTTPにリダイレクトします。

これは私が試みたものですが、無限ループを示しています。

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !games [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

Iは[これ](https://stackoverflow.com/questions/17638645/force-https-except-for-one-directory)を試みたが、その動作していない - オフ するRewriteCondの%{HTTPS}について> RewriteEngine RewriteCond%{REQUEST_URI}!ゲーム[NC] RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L、R = 301] – leonylyner

答えて

0

あなたはあなたのサイトのルートの.htaccessに最初のルールとしてこのルールを使用することができます。

RewriteEngine On 

RewriteCond %{HTTPS} !on 
RewriteCond %{THE_REQUEST} !games [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

# rest of your rules go here 

この変更をテストするときに、ブラウザのキャッシュをクリアすることを確認します。

+0

ありがとうございます。しかし、これはHomepageや/ games /のページでのみ有効です。他のディレクトリの他のページ(例:http://example.com/file/index.html)では、無限ループになります。 – leonylyner

+0

あなたはそれを誤解しているか、問題を適切に説明していません。このルール**には、要求に 'ゲーム 'が含まれていると**がスキップされます。リクエストが既にリダイレクト後に 'https'になったら無限ループになるのはなぜですか? – anubhava

+0

このルールは 'RewriteEngine'行の下の最初のルールでなければなりません。 – anubhava

関連する問題