2017-03-10 7 views
0

ich eine Website haben, die von http kürzlich bewegt hat: // zu https: //Probleme mit https: // www nicht-Umlenken auf https: // www

Die Seite mit MVC gebaut wird gehostet auf IIS7, und ich weiß, dass ich dafür 4 Bindungen haben sollte.

das Haupt:
https://www.example.com (port: 443 - IP-Adresse: *)

3 andere alle zu 301 Re-direct zu den oben genannten.

http://www.example.com - (port:80 - ip address: * -re-direct works) 
    http://example.com - (port:80 - ip address: * -re-direct works) 
    https://example.com - (port:443 - ip address: * -re-direct does not work) 

Der Versuch, zu beheben, warum der untere mit Site fehlschlägt, konnte nicht erreicht werden. Server-DNS-Adresse konnte nicht gefunden werden.

Unten ist der Code, ich bin mit zu https erneut direkte http

  // The base only redirects GET, but we added HEAD as well. This avoids exceptions for bots crawling using HEAD. 
      // The other requests will throw an exception to ensure the correct verbs are used. 
      // We fall back to the base method as the mvc exceptions are marked as internal. 

      if (!String.Equals(filterContext.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase) 
       && !String.Equals(filterContext.HttpContext.Request.HttpMethod, "HEAD", StringComparison.OrdinalIgnoreCase)) 
      { 
       base.HandleNonHttpsRequest(filterContext); 
      } 

      // Redirect to HTTPS version of page 
      // We updated this to redirect using 301 (permanent) instead of 302 (temporary). 
      string url = "https://" + filterContext.HttpContext.Request.Url.Host + filterContext.HttpContext.Request.RawUrl; 

      filterContext.Result = new RedirectResult(url, true); 

Irgendwelche Ideen, was mit dem Boden hier schief geht verbindlich? Der Versuch, die vierte Eigenschaft in der Google Webmaster Search Console einzurichten, kann natürlich nicht aufgrund eines fehlgeschlagenen DNS erfolgen.

Jede Hilfe wird sehr geschätzt. Prost

Antwort

0

Das Problem war mit dem DNS auf unserem Domain-Anbieter.

0

Es ist besser, diese Art von Sache auf Web-Server-Ebene statt in App-Code. Für IIS müssen Sie die Datei Web.config ändern, indem Sie eine Umschreibungsregel hinzufügen. Ich war es nicht in der Lage zu testen, aber man sollte so etwas hinzufügen:

<rewrite> 
    <rules> 
    <rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">    
     <match url="*" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="example.com" /> 
     </conditions> 
     <action type="Redirect" url="http://www.example.com/{R:0}" /> 
    </rule> 

    <rule name="HTTP Redirect to HTTPS" enabled="true" stopProcessing="true"> 
     <match url="(.*)" ignoreCase="false" /> 
     <conditions> 
     <add input="{HTTPS}" pattern="off" /> 
     </conditions> 
     <action type="Redirect" url="https://www.example.com/{R:1}" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 
    </rules> 

+0

Hallo, vielen Dank für Ihre Antwort. Leider auch keine Freude damit. Ich bin besorgt, dass etwas mit den Bindungen oder auf GoDaddy Ebene falsch ist. Ich finde es seltsam, dass http: // non-www zu https: // www funktioniert gut aber https: // nicht-www zu https: // www nicht. Auch ohne die Umleitung, kann ich nicht Verkehr zu https: // non-www, um überhaupt zu arbeiten :( – Johnathan

+0

Haben Sie versucht [Antwort] (http://stackoverflow.com/questions/38883207/url -rewrite-web-config-https-und-www)? – Camille

Verwandte Themen