2016-04-26 17 views
1

.htaccessとリダイレクトに関するすべての関連する解答を読んだ後、.htaccessリライトの条件とルールを使っていくつかの実験を続けます。.htaccess wwwとhtppsにルールをリダイレクトし、サブドメインを除外する

私はMagentoのサイトでwwwとhttpsを強制的に管理しました。ここで私は現時点で持っているものです。

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

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule .* https://www.example.com%{REQUEST_URI} [L,R=301] 

public_html/test/でサブドメインtest.example.comとテスト環境を作成した後、私はサブドメインがhttpsのWWWを持っていませんどちらもので、上記の規則から除外します。

私は上記のルールにこの例外を入れようとしましたが、成功しませんでした。例えば

RewriteCond %{HTTP_HOST} !^test\.example\.com$ 

私はMagentoの管理者を入力するhttp://test.example.com/admin/を入力すると、それは私もpublic_html/test/.htaccess fileを編集する必要がありますhttps://www.example.com/admin/に私をリダイレクト?

は、事前にありがとう

答えて

0

ホスト値がWWWリダイレクトホストで起動しない場合は、[はい、これが原因であなたのルール、第二のルールチェックの起こっているwww.example.comこのルールはwww以外のhttpホストをwwwのメインドメインにリダイレクトします。

これを修正するには、httpをhttpsにリダイレクトするように単一のルールを使用することができます:WWWは

RewriteEngine on 

RewriteCond %{HTTP_HOST} !^test\.example\.com$ 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ 
RewriteRule^https://www.%1%{REQUEST_URI} [NE,L,R] 
+0

は、あなたの答えをありがとうサブドメインを除きます。上記のルールは正常に動作し、httpsとwwwからサブドメインを除外します。しかし、テストサイトの管理者名をhttp://test.example.com/testadmin/に変更して、https://www.example.com/admin/にリダイレクトしないようにしなければなりませんでした。しかし、テスト管理者にログインしようとすると、プロダクション管理パネルが再びロードされます。 – user37968

関連する問題