【问题标题】:URL Rewriting, Temporary Solution, ASP.Net 3.5URL 重写,临时解决方案,ASP.Net 3.5
【发布时间】:2009-09-11 02:51:58
【问题描述】:

我们有一个仅由 IP 地址托管的测试站点。我们确实需要测试一些功能,这些功能取决于某人使用哪个子域来访问该站点。但当然,我们甚至不能将子域与仅 IP 站点一起使用。

所以,我的一个想法是,我们可以让测试人员使用如下 URL 打开站点,而不是子域:http://192.168.0.1/smithhttp://192.168.0.1/jones,然后我会将它们重定向到 http://192.168.0.1/default.aspx?site=smith 等...

我们的测试人员在客户端,要求他们输入查询字符串会有问题。另外,我真的很想快速介绍一下 URL 重写。

谁能给我任何想法,如果我想做的是可能的,如果是的话,一个指向一些代码或解释或什么的指针?

我相信我们使用的是 asp.net 3.5 和 iis6。

感谢您的帮助!

【问题讨论】:

    标签: c# asp.net url-rewriting


    【解决方案1】:

    我在我的博客上写了对URL Rewriting in ASP.NET 的介绍,说明它的价值。请随时在此处发布更多问题,以澄清您遇到的任何具体问题。

    【讨论】:

      【解决方案2】:

      这绝对适用于您的情况 http://www.urlrewriting.net/149/en/home.html

      我们已经实现了你所需要的,它的开源 dll,你需要在 web.config 中编写一些规则,根据你的扫描,你的规则类似于

      <add name="index" virtualUrl="^~/(.*)/Default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?site=$1&amp;urw=t" ignoreCase="true"/>
      

      【讨论】:

        【解决方案3】:

        您可以将测试机器上的主机文件更改为指向该 IP 的域(和子域),这样您就不必依赖 DNS 并且可以像分配域一样进行测试。

        更多信息在这里:

        http://labnol.blogspot.com/2004/10/tweak-your-windows-hosts-file.html

        【讨论】:

        • 很好的答案,但不适用于我们的情况。我们不知道测试机器——美国各地有近 100 台机器排成一列,试图让它们都更新主机文件真的会激怒我们的客户。再一次,好主意。
        • :) 优秀的测试人员价值连城。
        【解决方案4】:

        这是 .Net 3.5 的一部分,是 与 MVC 使用的机制相同

        这让你的生活变得轻松,因为一切都保存在 HttpContext.CurrentContext.Items[""]

        我已经为一些我有 XML 配置文件的项目改编了这段代码。然后我使用这个文件来构建 RouteCollection。这段代码也很容易扩展到处理 SEO 的 301 重定向。

        此方法也会在您的 AppPool 中加载一次,并且无需为每次调用解析 xml 文件和配置。到目前为止,这对我来说是性能方面的最佳解决方案。

        如果您需要任何帮助,请告诉我。我很乐意伸出援手。

        编辑:13/09/09

        我还没有遇到过这个问题,因为我通常在每个页面中处理成员身份/身份验证验证。我通常在页面上调用一个控件或方法来验证/授权用户。我的客户很少使用 ASP.Net 成员资格,他们通常依赖于我们需要连接的专有子系统。

        我已经扩展了上述链接中提供的示例,以便我可以编写一个 xml 路由表,该路由表在应用程序启动或强制更新 RouteCollection 时加载。

        到目前为止,这已证明自己运行良好。 这也可以允许在应用程序运行时更改路由,而无需停机。

        【讨论】:

        • 您的示例效果很好,但是当我将它插入我的解决方案时,它不会碰到我的 MSO 对象。我相信这是由于 ASPNet 会员服务。所有请求(如果尚未登录)重定向到 login.aspx。我认为这个处理程序在我之前运行,所以我没有机会处理它。有什么建议么?否则,我喜欢你的方法。很酷。
        猜你喜欢
        • 2012-04-11
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        • 2016-04-25
        • 1970-01-01
        • 2011-06-30
        • 1970-01-01
        • 2012-02-08
        相关资源
        最近更新 更多