2017-07-06 4 views
0

J'utilise Tuckey UrlRewriteFilter pour forcer les utilisateurs à accéder aux versions 'www' et 'https' de mon site Web. Je veux dire 3 prochaines URL doit rediriger vers https://www.myweb.comUrlRewriteFilter: www et https redirect

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

Le problème vient avec le dernier, je ne peux pas trouver la solution pour mettre 'www' pour ' https '. J'ai la règle suivante qui fait 2 premiers cas, le travail sans problème:

<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> 

Celui-ci ne vaut bien sûr pas pour le troisième cas. Si je tente une règle similaire pour le troisième cas comme ce qui suit, il ne fonctionne pas non plus (je ne sais pas pourquoi):

<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> 

Pourriez-vous s'il vous plaît aidez-moi à comprendre la règle pour le troisième cas ?

Merci.

Répondre

0

Le problème n'était pas le filtre mais mon certificat. J'ai émis mon certificat pour www.myweb.com mais pas pour myweb.com alors la demande https://myweb.com n'a pas atteint mon serveur, le navigateur a détecté que le certificat n'était pas valide et a bloqué le processus.

Je viens de publier mon certificat pour https://myweb.com et j'ai modifié ma règle Tuckey comme vous pouvez le voir ci-dessous. Maintenant, https://www.myweb.com est la seule URL que les utilisateurs peuvent utiliser.

<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>