4

我目前正在 Umbraco 4.7 中开发。

我的客户需要将带有 .asp 扩展名的经典 ASP 页面重定向到他们的新页面。我已经安装了以下软件包:

管理 URL 重定向 http://our.umbraco.org/projects/backoffice-extensions/manage-url-redirects

这个包完全符合我对 .aspx 页面和没有扩展名的页面的需要。

但是,当涉及到 .asp 时,这是行不通的。我的第一个想法是,这是因为 .asp 未设置为映射到 IIS7 内的处理程序映射配置中的 .aspx 页面。

为了解决这个问题,我向 IIS 添加了一个新的处理程序映射。

  1. 添加脚本管理器
  2. 请求路径 - *.asp
  3. 可执行文件 - C:\windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
  4. 名称 - ClassicAspToNet

在添加此处理程序映射之前,我收到了 IIS 404 错误页面。现在我收到一个服务器异常:

执行 URL 失败。

示例:* 此处已删除链接 *

非常感谢您的帮助,帮助我确定是否可以使用 .asp 扩展名提供 .aspx 页面,如果可以,我该怎么做?

提前致谢,

大卫。

4

3 回答 3

0

我在将 PHP 迁移到 Umbraco 时遇到了类似的问题。我的解决方案是添加一个无扩展处理程序(通配符映射),然后使用 Umbraco 中的 UrlRewriting 剥离 .php 并用 .aspx 替换它。

这是我使用的重写规则:

<add name="phptoaspx"
     virtualUrl="^~/(.*).php"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="/$1.aspx"
     ignoreCase="true" />  

也许在你的情况下你只需要重写?不过,您可能需要从 IIS 处理程序映射中删除 .asp。

于 2012-08-06T23:44:49.197 回答
0

301 Moved Permanently如果有帮助,您可以使用该功能。

在您的经典 asp 站点中,您有 global.asa 以及诸如 On Application start 之类的事件,您可以重定向到适当的 aspx 文件。

例如

Sub Application_OnStart
    Declare a variable and Get page name from request and redirect accordingly

   Response.Status="301 Moved Permanently"
   Response.AddHeader "Location","http://www.example.com/" + VariableNameThatHoldsPageName
   Response.End

End Sub

希望能帮助到你.....

于 2014-07-29T07:06:21.753 回答
0

您可以尝试我写的关于如何在经典模式和集成模式下将其他扩展重新映射到 IIS 的博客文章:http: //blogs.msdn.com/b/carlosag/archive/2008/07/04/mappingfileextensionforaspxpagesiniis70.aspx

于 2012-08-07T00:11:55.563 回答