2011-01-21 15 views
11

私の.htaccessファイル用のRewriteRuleを作成しようとしています。具体的には、ユーザーが特定のサブディレクトリにアクセスするたびに、HTTPS接続を強制するために書き直したいと思います。.htaccess HTTPSへのサブフォルダーのリダイレクト

たとえば、誰かがアクセスするたびに:http://www.mydomain.com/subdirectory(およびその "サブディレクトリ"の他のサブディレクトリ)。

私は次のことを試してみたが、ループを作成するように見えることがhttps://www.mydomain.com/subdirectory

に書き換えてみたい:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.mydomain.com/subdirectory/$1 [R=301,L] 

また、この.htaccessファイルをルートに置かれています私のドメインの

私のRewriteRuleを変更する方法はありますか?

多くのありがとうございます!

答えて

18

私は、ドメインのルートディレクトリにこれを置く:

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^(subdirectory/.*)$ https://www.mydomain.com/$1 [R=301,L] 
-1

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://www.mydomain.com/subdirectory/$1 [R=301,L] 
1

ああ、2のそのコンボを試してみてください。 MonoMano - RewriteRuleの最初の部分のサブディレクトリを省略しました。したがって、すべてのトラフィックをHTTPSサブドメインアドレスに誘導します。私は 'オフ'のチェックは、チェックするよりも信頼性が高いことを発見しました!= on、なぜ私に尋ねないでください!

あなたは以下を参照してください、バックFloernの応答あたりのようにサブディレクトリを追加したいと思います:あなたはアドレスバーがサブフォルダを表示したくない場合は

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(subdirectory/.*)$ https://www.mydomain.com/subdirectory/$1 [R=301,L] 
0

はこれを使用してください。これはあなたをできるように、私のためにこの仕事

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://www.domain.com/subdirectory/$1 [L,R=301] 
1

に残っているようになります。 httpsに特定のフォルダをリダイレクトするには、次の内容のフォルダ内にhtaccessファイルを追加してください:

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

:それは、そのサブディレクトリの.htaccessファイルに下記の行を追加します。yourdomain.com/subfolderyourdomain.comをリダイレクトしますが、あなたはyourdomain.com

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?yourprimarydomain.com$ 
RewriteCond %{REQUEST_URI} !^/subfolder/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /subfolder/$1 
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ 
RewriteRule ^(/)?$ subfolder/index.php [L] 
関連する問題