2017-08-26 8 views
3

私のサイト全体は安全ですが、特定のページからhttpsを削除したいと考えています。 htaccessファイルまたはPHPコードでそれを行う方法はありますか?特定のページからhttpsを削除する

ここに私の現在のhtaccesファイルがあります。

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

</IfModule> 

追加

RewriteCond %{REQUEST_URI} !/page [NC] 

デスクトップブラウザ用の作品。私はiPhone 7でモバイルサファリのページを開こうとしましたが、ページが安全に戻ってきます。

は、キャッシュをクリアし、このそれでも運事前に

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="0" /> 

感謝を追加しました。

+0

サブドメインを作成します。 – Blacksun

答えて

1

あなたは以下の条件を使用してHTTPSからリダイレクトをcertenページを除外することができます。

要求されたURIがパターンに一致し、である場合、これは/のRewriteRuleをスキップするRewriteRule線の上

RewriteCond %{REQUEST_URI} !/page [NC] 

をこの権利を入れてページ

+0

今は気にしないでください。私はそれが有効にするには時間がかかると思う。 – Carlitos

+0

ちょうどそれを電話でテストしたところ、ページが再び安全であることがわかりました。あなたはそれを電話で無効にしますか? – Carlitos

+0

あなたの電話ブラウザのキャッシュが原因である可能性があります。ブラウザのキャッシュをクリアします。 – starkeen

1

私は正規表現のエキスパートではありませんが、おそらくそのようなものでしょうか?

RewriteRule ^(?!.*target)(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteRule ^(target)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

targetがエンドポイントです。

関連する問題