2016-07-14 87 views
5

arbeiten Ich versuche, eine IIS URL einzurichten Funktion Rewrite einfach eine beliebige URL-Anforderung zu senden (als Test) Google:Einfach URL Rewrite nicht

  <rule name="Intercept" enabled="true" patternSyntax="ECMAScript" stopProcessing="true"> 
       <match url="(.*)" /> 
       <action type="Rewrite" url="google-homepage-url-here" appendQueryString="false" logRewrittenUrl="true" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="example.com$" /> 
       </conditions> 
      </rule> 

Ich verwende Rewrite anstatt Redirect, weil ich die URL vom Benutzer verstecken muss. Die obige Konfiguration funktioniert für Redirect, aber nicht für Rewrite, warum ist das?

Als ich http://example.com/blablabla getroffen bekomme ich ein 404,4

Mein Ziel ist es für den Benutzer auf die Google-Homepage geleitet werden.

Ich habe ARR installiert, irgendwelche Ideen?

+0

Irgendwelche Ideen jemand? Das Umschreiben scheint ein sehr grauer Bereich zu sein. – FBryant87

Antwort

3

Wenn Sie möchten, dass der Nutzer zur Google-Startseite weitergeleitet wird, sollten Sie redirect verwenden, nicht neu schreiben. Das ist nicht "URL vor Benutzer verbergen", sondern Verarbeitung auf Serverseite.

Ohne irgendwelche Protokolle kann ich nur vorschlagen, dass Ihr IIS versucht, Google neu zu schreiben, fragt es nach einer nicht vorhandenen Seite und gibt offensichtlich 404 zurück. Es kann passieren, wenn Ihre Website HTTP verwendet und Google Server HTTPS zum Beispiel verwendet.

Ich denke, dass Sie auch den Unterschied zwischen Redirect und Neuschreiben überprüfen sollten, this Artikel ist ein guter Anfang.