Windows Server 2012 IIS 8.5的Web配置文件中的URL转发

时间:2014-09-11 13:34:20

标签: asp.net iis web-config rewrite windows-server-2012

我正在尝试将我网站上的特定网址转发到其他网站,我无法弄清楚如何在我的IIS服务器的web.config文件中设置正确的值。

例如我想转发 www.example.com/ballot 至 ballot.example.com

到目前为止,我已尝试过以下内容,但它对网址没有任何影响

<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^/ballot$" ignoreCase="false" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^example\.com$" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="http://ballot.example.com/" />
    </rule>
  </rules>
</rewrite>

我在Rackspace Cloud网站上托管该网站。

1 个答案:

答案 0 :(得分:0)

好的,我想出了这个,我在这里发布解决方案给其他可能遇到类似情况的人。

如果您想将http://www.example.com/ballot之类的某个网址重定向到http://ballot.example.com/

然后按照以下步骤操作

1)。如果还不存在,请直接在www.example.com的Web根目录下创建一个名为ballot的目录。

2)。创建一个Web.config文件并将其放在带有以下内容的选票目录中。

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="http://ballot.example.com" httpResponseStatus="Permanent" />
    </system.webServer>
</configuration>

3)。确保将目的地更改为实际目的地。

4)。如果您在Rackspace云站点上托管,则必须重建应用程序(不确定其他主机)。您可以通过删除Web.Config文件(如果存在)并上载新文件,或者单击要尝试重定向的云站点的“常规设置”选项卡中的重建应用程序链接来重建应用程序。有关在Rackspace中重建应用程序的更多信息,请访问:http://www.rackspace.com/knowledge_center/article/how-to-rebuild-an-aspnet-application-in-cloud-sites

此处还有一个链接指向我最终找到解决方案的页面:https://www.stokia.com/support/misc/web-config-response-redirect.aspx

我希望这可以帮助那些发现自己处于类似情况的人。