代码之家  ›  专栏  ›  技术社区  ›  Rob Burke

是否为所有入站URL重写IIS URL?

  •  2
  • Rob Burke  · 技术社区  · 15 年前

    希望是一个简单的问题,尽管我发现用谷歌无法回答自己!

    我在IIS上有一个网址 http://www.contoso.com/ 指向c:\www\public\

    已经进行了强制目录重构,因此,原来位于C:\www\public\的所有数据(default.aspx、product.aspx等)现在位于C:\www\public\en\ie-但是,IIS网站文档根目录仍然是C:\www\public\

    所以,本质上,我有很多入站链接 http://www.contoso.com/Product.aspx?id=1 (等)现在返回404个错误-正确的链接现在是 http://www.contoso.com/en/ie/Product.aspx?id=1

    请考虑我不能更改目录结构或IIS文档根目录…所以我 必须 使用URL重写解决此问题。

    能抓到吗 全部的 请求Contoso.com/*并将其重写为Contoso.com/en/ie/*??

    2 回复  |  直到 15 年前
        1
  •  3
  •   Phil Hale    15 年前

    正如Ivo建议的,使用URL重写,您可以设置与旧的URL模式匹配的入站规则,并重定向到新模式。

    http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

        2
  •  -1
  •   Ivo    15 年前

    将网站的根目录从C:\www\public\更改为C:\www\public\en\ie\,一切正常。

    如果由于任何原因无法执行此操作,请创建一个自定义404页,并在其中重写为URL,然后使用301重定向。

    见: http://searchengineland.com/url-rewriting-custom-error-pages-in-aspnet-20-12234

    推荐文章