【问题标题】:URL Rewriting in visual studio c#Visual Studio C#中的URL重写
【发布时间】:2011-04-08 16:14:15
【问题描述】:

我有几个关于在 Visual Studio 2008 中实现 URL 重写的问题

  • 我目前正在使用 Intelligencia.UrlRewriter 在 CS 2008 中实现 URL 重写。但是,与 IIS7 重写规则相比,重写规则有点不同。有没有办法在 VS2008 中调试时使用相同的规则,然后在 IIS7 上使用时采用相同的规则。

  • 从重写规则中忽略图像、css 和 js 文件的最佳方法是什么。Intelligencia.UrlRewriter 是否可以做到这一点。

  • 有没有更好的方法?

    谢谢,

【问题讨论】:

    标签: c# visual-studio-2008 iis-7 url-rewriting


    【解决方案1】:

    库沙尔,

    是的,你可以做几件事。我个人会选择一个并坚持下去。如果您想使用 Intelligencia,那么您的规则将在内置调试器以及集成模式下的 IIS7 中运行。如果要使用重写规则扩展,请将其安装在本地 IIS7 http://www.iis.net/download/URLRewrite 中,然后在本地 IIS 中设置一个指向项目 Web 根目录的新网站。编辑您的主机文件并将站点的域主机标头指向您的本地 IP。您可以编辑 Web 项目的属性并为调试器选择自定义服务器,然后将本地站点的主机标头粘贴到其中。这样,您就可以为开发和生产运行 IIS7。

    要忽略 Intelligencia 中的 js 和 css 等静态文件,请在规则列表的顶部使用此规则:

    <rewrite url="^(/.+(\.gif|/.+\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.asmx|\.axd|\.flv|\.swf)(\?.+)?)$" to="$1" processing="stop" />
    

    我能想到的唯一另一件事是设置一个构建后任务,该任务将运行一个脚本来读取 Intelligencia 规则,然后将它们转换并写入 IIS 重写规则。

    【讨论】:

      【解决方案2】:

      我建议为此使用 URL Rewrite http://www.iis.net/download/URLRewrite 和开发使用集成了 URL Rewrite 的 IIS Express ( http://learn.iis.net/page.aspx/868/iis-developer-express-overview/ ),您可以在 VS 2008 中设置和使用它,请参阅:How to configure Visual Studio 2008 to use IIS Express?

      最好的是,您将拥有部署到服务器并完全准备好部署时所拥有的所有功能(不仅仅是 URL 重写),例如请求过滤、失败的请求跟踪等。

      p>

      【讨论】:

        猜你喜欢
        • 2013-05-10
        • 2015-07-24
        • 1970-01-01
        • 2018-06-28
        • 1970-01-01
        • 2014-10-02
        • 2011-10-13
        • 1970-01-01
        • 2019-07-14
        相关资源
        最近更新 更多