URL重定向适用于localhost,但不适用于服务器

时间:2016-05-03 13:57:34

标签: asp.net redirect web-config iis-7.5

以下是我的web.config重定向规则:

<rewrite>
   <rules>
     <rule name="Redirect from old page">
       <match url="^oldpage.aspx" />
       <action type="Redirect" url="pages/newpage.aspx" appendQueryString="true" redirectType="Permanent" />
     </rule>
   </rules>
</rewrite>

localhost上,此重定向规则可以正常运行。

当我将配置文件发布到IIS时,重定向规则似乎打破了Web应用程序。我尝试去的每一页都会返回500错误。

注意:Web应用程序使用IP地址而不是域名。

示例:我想将http://192.168.168.255:44/oldpage.aspx?queryString=parameter重定向到http://192.168.168.255:44/newpage.aspx?queryString=parameter,但收到500错误。即使我想访问http://192.168.168.253,我也会收到500错误。

IIS说:

  

从ApplicationHost.config文件或Web.config文件中删除格式错误的XML元素。

但是,我无法确定此重定向规则的格式错误。它在localhost中运行得很好。我应该在match url节点中包含完整的IP地址吗?如果是这样,我将如何格式化?

1 个答案:

答案 0 :(得分:0)

您确定服务器上还安装了IIS重写模块吗?如果不是IIS将无法识别重写节点并给出500错误。 http://www.iis.net/downloads/microsoft/url-rewrite