【问题标题】:Asp URL Rewrite on Multiple Domains多个域上的 Asp URL 重写
【发布时间】: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


【解决方案1】:

我感觉域名freeyoutubedownloaders.co.uk 已作为附加绑定添加到与dysign.co.uk 相同的网站。不知何故(我不知道 123reg 通常是如何设置的)对freeyoutubedownloaders.co.uk/&lt;something&gt; 的请求被重写为/freeyoutubedownloaders/&lt;something&gt;。或者他们在你不知情的情况下为其设置了某种反向代理。

当我在 IIS 7.5 上通过为dysign.co.uk 设置一个网站和为freeyoutubedownloaders.co.uk 指向/freeyoutubedownloaders 指向dysign.co.uk 所指向的根目录中的目录的单独网站在IIS 7.5 上进行测试时,一切正常正如预期的那样。因此,我认为您对如何使其工作的想法没有任何问题,但我认为 123reg 在将域名绑定到您的网站的方式上做了一些不寻常的事情。

【讨论】:

  • 该死,我认为这可能是域和托管的问题,因为dysign.co.uk/freeyoutubedownloaders/xBbYPL 工作正常。可能不得不将其作为自定义 404 页面来代替,我不妨在这里放一个赏金,以防其他人有更多想法。谢谢。
  • 您必须了解 123reg 是如何设置多个域名的,以及为什么请求 URL 显示为 http://freeyoutubedownloaders.co.uk:80/freeyoutubedownloaders/xBbYPL。也许联系他们的支持部门,让他们解释一下。
猜你喜欢
  • 2018-12-12
  • 1970-01-01
  • 2020-10-24
  • 2016-04-25
  • 1970-01-01
  • 2019-04-25
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多