【发布时间】:2012-11-12 03:41:09
【问题描述】:
我目前正在我的托管包上提供链接缩短服务。我正在使用 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 file not found 错误。
这是我的 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 以便它重定向您。)
附言。我根本无法访问 IIS,因为它托管在 123-reg.co.uk
再次感谢! :)
错误:
【问题讨论】:
-
如果缩短服务在子目录
/freeyoutubedownloaders中,dysign.co.uk/xBbYPL 怎么可能工作?是否可能有另一个重写规则这样做?这个web.config存储在哪个文件夹中? -
有2个webconfig,一个在dysign.co.uk的根目录下,一个在子目录下,两者完全相同。
标签: c# asp.net url url-rewriting http-status-code-404