Chcem implementovať presmerovanie na webový server IIS7. V podstate, ak subdoména nie je zahrnutá v URL, presmerujem na www subdoménu.
http://mysite.com/file.aspx presmerováva na http://www.mysite.com/file.aspx
http://mysite.com/image.jpg presmerováva na http://www.mysite.com/image.jpg
http://mysite.com/text.html presmerováva na http://www.mysite.com/text.html
Ako to urobiť?
Nechcem písať žiadny HTTP modul - musí sa vykonať iba cez IIS konfiguráciu.
Tiež som povinný používať režim Classic Pipeline a nemôžem inštalovať žiadne ISAPI pluginy.
Je to možné?
odpovede:
0 pre odpoveď č. 1Toto môžete vložiť do súboru web.config:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to WWW" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^http://mysite.com$" />
</conditions>
<action type="Redirect" url="http://www.mysite.com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
V IIS7 to môže byť vykonané cez url prepísať sekciu.
0 pre odpoveď č. 2
Toto riešenie fungovalo pre mňa:
1) Nainštalujte komponentu Rewrite URL:
http://www.iis.net/download/urlrewrite
2) Pridať do web.config:
<system.webServer>
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mysite.com$" />
</conditions>
<action type="Redirect" url="http://www.mysite.com/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>