2017-07-06 3 views
0

私はTuckey UrlRewriteFilterを使用して、ユーザーに自分のウェブの 'www'と 'https'バージョンを強制的に送ります。私は 'の次の3つのURLがhttps://www.myweb.comUrlRewriteFilter:wwwとhttpsリダイレクト

  • http://www.myweb.com
  • http://myweb.com
  • https://myweb.com

にリダイレクトする必要があります問題は、最後の1が付属して、私は解決策が 'www' を置くことを見つけることができない意味しますhttps '。私は問題なしで2つの最初のケースを動作させる次のルールを持っています:

<rule> 
    <name>Domain Name Check</name> 
    <condition name="host" operator="equal">myweb.com$</condition> 
    <condition type="scheme" operator="equal">^http$</condition> 
    <from>^(.*)$</from> 
    <to type="permanent-redirect">https://www.myweb.com$1</to> 
    </rule> 

これはもちろん3番目のケースには当てはまりません。私は次のような第三の場合の同様のルールをしようとすると、それは(私はなぜ知らない)のいずれかに動作しません:

<rule> 
    <name>Domain Name Check</name> 
    <condition name="host" operator="equal">myweb.com$</condition> 
    <condition type="scheme" operator="equal">^https$</condition> 
    <from>^(.*)$</from> 
    <to type="permanent-redirect">https://www.myweb.com$1</to> 
    </rule> 

あなたは第三の場合のルールを把握するために私を助けてもらえ?

ありがとうございます。

答えて

0

問題はフィルタではなく、証明書でした。 www.myweb.comの証明書を発行しましたが、myweb.comの証明書は発行していません。https://myweb.comリクエストは私のサーバーに届きませんでした。ブラウザは証明書が有効ではないことを検出し、プロセスをブロックしました。

私はちょうどhttps://myweb.comのための私の証明書を発行し、私は以下のように私のTuckeyルールを変更しました。今やhttps://www.myweb.comは、ユーザーが使用できる唯一のURLです。

<rule> 
    <name>Domain Name Check</name> 
    <condition type="request-url" operator="equal">(^http://myweb.com|^http://www.myweb.com|^https://myweb.com)</condition> 
    <from>^(.*)$</from> 
    <to type="redirect">https://www.myweb.com$1</to> 
    </rule> 
関連する問題