Redirect Subdomain URL to another SubDomain in IIS

后端 未结 2 1787
情书的邮戳
情书的邮戳 2021-02-15 15:37

I need to redirect a \"fake\" sub domain to a real subdomain in IIS 7.5. The reason is that the marketing department doesn\'t want to use the actual website address in print pie

相关标签:
2条回答
  • 2021-02-15 16:11

    I think you need to create a separate site with host bindings for report.usapartners.com (the fake site) in IIS. This is going to be a stub site (it will still need a path on the disk, but it's only going to have a web.config in there) which will just host a redirect rule.

    Now click on HTTP Redirect for that site in IIS and tick Redirect requests to this destination and put http://reporting.usapartners.com in the textbox. Then tick Redirect all requests to exact destination (instead of relative to destination), don’t tick the next one and then choose Status Code Permanent (301).

    If you want it to redirect and keep the subdirectories and/or query string, then you can change the contents of the textbox to be http://reporting.usapartners.com$S$Q. Note that there is no trailing slash in this case. The $S preserves the sub directories and the $Q preserves the query string.

    0 讨论(0)
  • 2021-02-15 16:31

    Your rule is causing a redirect loop.

    Observe what your rule does:

    • Match any given URL (this includes "/", "/something", "/something/another.html", etc.)
    • If the host name ISN'T "report.usapartners.com"
    • Redirect permanently the request to "http://reporting.usapartners.com"

    So, as you see, as soon as the user is redirected to the reporting subdomain, it gets redirected again to reporting, because hostname isn't "report.usapartners.com".

    The key here is the negate="true" attribute on the rule condition. Remove it or set it to false and you are good to go.

    Edit:

    You are almost there.

    The real solution would be to change the host name on the rule to the desired host, keeping the negate true, so your rule would do:

    • Match any given URL (this includes "/", "/something", "/something/another.html", etc.)
    • If the host name ISN'T "reporting.usapartners.com"
    • Redirect permanently the request to "http://reporting.usapartners.com"

    Code:

    ...
    <add input="{HTTP_HOST}" pattern="reporting.usapartners.com" negate="true" />
    ...
    
    0 讨论(0)
提交回复
热议问题