多域上的Asp URL重写

时间:2012-11-23 19:21:48

标签: c# asp.net url url-rewriting http-status-code-404

我目前正在托管软件包上进行链接缩短服务。我正在使用URL重写来执行此操作。这项工作的一个例子是 - dysign.co.uk/xBbYPL。这会将您重定向到Google.de。我正在使用映射到我的托管包上的文件夹的另一个域,因此我在1个托管计划上有2个站点。

freeyoutubedownloaders.co.uk 映射到 dysign.co.uk/freeyoutubedownloaders 。链接缩短程序位于 freeyoutubedownloaders文件夹中,因此dysign.co.uk/freeyoutubedownloaders/xBbYPL工作正常,但如果您转到freeyoutubedownloaders.co.uk/xBbYPL,则会收到404文件未找到错误。

这是我的web.config文件中的重写规则:

<rewrite>
    <rules>
        <rule name="Links">
            <match url="^X.{5,5}$" />
            <action type="Rewrite" url="Link.aspx?id={R:0}" />
         </rule>
    </rules>
</rewrite>

如果有人想要找我,我也会打开详细的httpErrors。

最后我在错误屏幕上注意到:

Requested URL   http://freeyoutubedownloaders.co.uk:80/freeyoutubedownloaders/xBbYPL

为什么它指的是域然后是文件夹? Link.aspx页面加载正常...(要测试它,请将?id = xBbYPL添加到结尾,以便重定向您。)

聚苯乙烯。由于它在123-reg.co.uk上托管,我根本无法访问IIS

再次感谢! :)

错误: enter image description here

1 个答案:

答案 0 :(得分:1)

我觉得域名freeyoutubedownloaders.co.uk已添加为与dysign.co.uk相同的网站的附加绑定。并且不知何故(我不知道123reg通常如何设置)请求freeyoutubedownloaders.co.uk/<something>被重写为/freeyoutubedownloaders/<something>。或者他们在不知情的情况下为它设置了某种反向代理。

当我在IIS 7.5上测试时,为dysign.co.uk设置一个网站,并为freeyoutubedownloaders.co.uk指向/freeyoutubedownloaders目录的根目录中的dysign.co.uk目录。{{1}}指向,它都按预期工作。因此,我认为您对如何实现这一点的想法没有任何问题,但我认为123reg在将域名绑定到您的网站方面做了一些不寻常的事情。