2012-03-16 14 views
0

私はさまざまな形で質問されていますが、私の特定の状況では何の答えにも答えられませんでした。1つのディレクトリを除いてHTTPSをHTTPにリダイレクトします

すべてのページが/ secure /フォルダにない限り、HTTP(mod_rewrite経由)にリダイレクトしたいとします。

ここで私が試したものです:

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^secure 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 

誰かが働いていた主張が、この場合には動作しないことを別のバージョン:

RewriteRule ^secure/ - [L] 
RewriteCond %{SERVER_PORT} !^80$ 
RewriteRule^http://www.thevirtualstagingexperts.com%{REQUEST_URI} [L,R=301] 

私はむしろのバリエーションを使用したいが、最初のバージョン。それは(私にとにかく)うまくいくように見えます。誰もこのような卑劣な主題にいくつかのラインを照らすことができますか?

+0

は、なぜあなたは、クライアントが明示的にそれを求め場合は特に、HTTPSを取り除くためにしたいですか? – gereeter

+0

私は/ secure /フォルダにあるチェックアウトプロセスにHTTPSを使いたいだけです。残りのウェブサイトはHTTPSでブラウズする必要はありません。 –

+0

絶対リンクを使用して1つから別のリンクに移動していますが、場合によってはルールを設定したいと考えています。 –

答えて

-1

HTTPSは私が思ったほどApacheに課税しないと私に指摘されました。どうやら、余分な負荷の大部分が接続を確立することになります。クライアントはすでにこの時点でセキュアな接続を確立しているので、それを続行するのは問題ありません。

これを読み、誰でも書き換えルール理由を知っている場合:

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^secure 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 

は動作しませんが(それはそれが必要のような/安全な/ディレクトリを除外しない)、私は知っているのが大好きです。私はプログラミングが初めてで、このようなことを私の肌の下に実際に理解することはできません。

ありがとうスタックオーバーフロー!

0

日時:^/secureここで私はあなたがそのURIのスラッシュが欠落していると思う私は

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^secure 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 

を試みたものです。

+0

残念ながら、それはどちらもうまくいきませんでした。ありがとう:o) –

0
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/secure/.* 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] 
0

あなたのオリジナルのソリューションは、最後のルールに[R,L]を追加した後、私の仕事:

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^secure 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L] 
関連する問題