2017-04-04 10 views
0

とサブディレクトリで要求されたプロトコルを保存します。httpsたちの「トップ」レベルにリダイレクト:>私たちは、HTTPを持っているの.htaccess

の/トップ/サブディレクトリのための今
example.com/top/ 

example.com/top/sub/ 

私はそこに要求されているプロトコルを保存したいと思います。

それはhttp://example.com/top/sub/this.phpだのであれば、私はそれが「HTTP」

として滞在したいそして、それは、私はそれが「httpsを」

として滞在したいhttps://example.com/top/sub/this.phpだ場合は現在、私は/ /トップで.htaccessファイルを持っていますサブ/ディレクトリ:

私はそれをやってする必要があるかを正確にやっている
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,END] 

、そのサブディレクトリに送信されるすべての要求の観点から、それは完璧です。

問題は、私はこのことを報告のerror_logにエラーメッセージが出ていている:

[REWRITE] detected external loop redirection with target URL: http://example.com/top/sub/this.php, skip. 

私はHTTPリクエストが行われるたびに、それは、この条件に合致していますので、私は、このメッセージが出てい理由を理解、私はそれをやめる方法を知らない。私は 'END'パラメータを使って1つのリダイレクトを強制しようとしましたが、これは動作していないか、少なくとも私が期待した通りに動作していないようです。

私が望むのは、プロトコルが/ top/sub /に対して要求されたものと同じままであることです。問題は/ top/redirectですべてをHTTPSに送信することです。

これは可能ですか?

答えて

0

実際にループを作成せずにプロトコルを保持する方法があるのか​​どうか知りたいですが、リダイレクトを/ top /で調整するだけで達成できました't match/top/sub/- 私は実際にそれを以前の解決策と考えていたはずです。

誰かを助けることができる希望。

関連する問題

 関連する問題