【发布时间】:2015-07-17 13:31:16
【问题描述】:
我有一个托管在 Windows (IIS) 中的 PHP 网站。该域在 Network Solutions 拥有,但该站点托管在 GoDaddy,因此我在 Network Solutions 有一个 DNS 条目,可以解析“www”和“non-www" 我的代码所在的 GoDaddy 服务器的名称。
当我在我的 IIS web.config 文件中添加重定向规则以重定向来自不同页面的请求时,我看到了一个重定向循环。
Firefox 说:
页面未正确重定向
IE 只是说:
页面无法显示
Chrome 说:
这个页面有一个重定向循环
所以我去了 Fiddler,它验证了一堆请求,每个请求都说服务器正在报告“Object Moved. This document may be found here”(其中“这里”是指向应该获取的页面的超链接重定向到),只有它一遍又一遍地发生(循环)。
这可能是因为网站托管在域所在的其他地方吗?我被卡住了。
这是我的 web.config 文件(实际 URL 替换为“示例”):
<rewrite>
<rules>
<rule name="Redirect to forums" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="(.*\.mysite.com)/([_0-9a-z-]+)" />
</conditions>
<action type="Redirect" url="http://www.example.com/forums.php" />
</rule>
</rules>
</rewrite>
有人建议从上面的操作中删除“http://”,我试过了,但我仍然收到错误。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
我从未使用过 IIS,但在 apache 的
.htaccess中,您可以添加 HTTP 响应状态代码以及重定向。例如,301用于当页面为permanently moved时。