2016-02-02 10 views
5

これはなぜ失敗するのかわかりません。すべてのドメインをwww.maindomain.comにリダイレクトするだけでなく、httphttpsにリダイレクトしたいのですが、何が欠けていますか?Apache2がsslを使用して別のドメインにリダイレクトする

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

# redirect without www to www 
RewriteCond %{http_host} ^maindomain.com [nc] 
RewriteRule ^(.*)$ https://www.maindomain.com [r=301,nc] 

# redirect another domain to www.maindomain.com  
RewriteCond %{HTTPS} off # this i was missing 
RewriteCond %{HTTP_HOST} ^(www\.)?anotherdomain.com [NC] 
RewriteRule ^(.*)$ https://www.maindomain.com [R=301,L] 
  1. http://maindomain.comhttps:/www.maindomain.com/に作品
  2. http://anotherdomain.comhttps:/www.maindomain.com/からhttps:/www.maindomain.com/
  3. https://anotherdomain.comを働くあなたのルールは以下の行が欠落しているので、
+0

奇妙な、するRewriteCondの%{HTTPS}オフとコメント、ヒントは、今働いて右だったが、答えは、私は第三リダイレクトで2番目のRewriteCondを欠けていた、私はそれを受け入れることを望んでいたのと同様に、削除されました –

答えて

1

別のドメインのHTTP、HTTPSへのリダイレクトは失敗した失敗しました:

RewriteCond %{HTTPS} off 

試してみてください。

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

はちょうどその時、全体のウェブサイトが「https」のにリダイレクトされ、その後コピーして.htaccessファイルに上記のコードを貼り付けます。

# redirect another domain to www.maindomain.com  

RewriteCond %{HTTPS} off 

RewriteCond %{HTTP_HOST} ^(www\.)?anotherdomain.com [NC] 
RewriteRule ^(.*)$ https://www.maindomain.com [R=301,L] 
0

あなたはこれを試すことができますブラウザは「http」モードで開かれます。ブラウザは.htaccessのURL書き換えを使ってリダイレクトされます。

関連する問題