我有一个 PHP 网站,该网站位于 Windows(IIS)中。该域名位于Network Solutions,但该站点位于 GoDaddy ,因此我在Network Solutions上有一个DNS条目,可以解析" www &# 34;和" 非www "我的代码所在的GoDaddy服务器的名称。
当我在IIS web.config
文件中放置重定向规则以重定向来自各个页面的请求时,我得到的似乎是重定向循环。
Firefox 说:
该页面未正确重定向
IE 只是说:
无法显示页面
Chrome 说:
此页面有一个重定向循环
所以我去了 Fiddler ,它验证了一堆请求,每个人都说服务器正在报告" Object Moved. This document may be found here
" (使用"此处"是应该被重定向到的页面的超链接),只有它一遍又一遍地发生(循环)。
这可能是因为网站被托管在域以外的地方吗?我被卡住了。
这是我的web.config文件(实际网址替换为"示例"):
<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>
有人建议删除&#34; http://
&#34;从上面的动作,我尝试过,但我仍然得到错误。
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
刚刚注意到一个愚蠢的错误:在块中,
<add input="(.*\.mysite.com)/([_0-9a-z-]+)" />
应该指定要搜索的区域,以及在单独的参数中匹配的模式。没有“pattern =”声明!应该是这样的:
<add input="{HTTP_HOST}" pattern="(.*\.mysite.com)/([_0-9a-z-]+)" />
DOH!我累了。