我有用于处理表格数据(从远程服务器),并发送基于表格数据的用户的电子邮件的传统.CFM(ColdFusion的)页面。现在我不再使用ColdFusion,而是在'免费'的ASP.NET(3.5)中托管。我不确定我有多少控制权。但我在想,如果我能有所有要求(实际上,形式职位)要去.CFM页面重定向到一个aspx页面,我可以做必要的处理Global.asax文件。 如何在共享主机提供商限制内完成此操作?我知道我可以在IIS中创建一个虚拟目录。例如,www.xyz.com/processform.cfm可以定向到www.xyz.com/processform.aspx?Asp.net处理.CFM文件或从.cfm重定向到.aspx页面?
回答
Koby Mizrahy接近我的帮助。我的问题是我在GoDaddy的IIS经典模式下运行Blog Engine .NET 2.0作为我的网站的主要应用程序。所以.cfm扩展没有被ASP.NET引擎处理,因此对Web.Config或Global.asax的更改都没有帮助。我不得不改成集成模式。这里是我做过什么来解决:
在Web.Config中,在“处理程序”节点,以确保表单提交到.CFM将被加工添加这个,否则我得到了一些405错误。
<add name="ColdFusion" path="*.cfm" verb="*" type="System.Web.StaticFileHandler" resourceType="Unspecified" preCondition="integratedMode" />
然后在Global.asax中,我在的Application_BeginRequest处理
if (Request.Url.ToString().Contains("TourEmail-act.cfm"))//
{
Server.Transfer("/360Flash/TourEmail-act.aspx");
}
}
问题解决了这个!非常感谢Mizrahy!
有两种方法做到这一点:
如果你想每一个CFM文件映射到一个aspx页面,您可以做到这一点通过将urlMapping中收集到的System.Web部分:
<system.web>
<urlMappings>
<add url="~/mypage.cfm" mappedUrl="~/mypage.aspx"/>
</urlMappings>
</system.web>
如果你想在全球范围内办理.CFM文件的任何请求,你能做到这一点在Global.asax中在开始请求事件:
protected void Application_BeginRequest(object sender, EventArgs e)
{
if(HttpContext.Current.Request.CurrentExecutionFilePathExtension == ".cfm")
{
// Do what ever you need to do
}
}
两种方式都是不依赖于主机,以便GoDaddy的上是不是一个概率LEM。
在第一个选项的表格数据将被whily你必须编写逻辑将表单数据传递到要重定向页面第二个选项保持。
如果我没有错,但是我不知道,也许Server.Transfer的维护表单数据
好吧,我会试试这个。谢谢! – IrfanClemson
嗨,我仍在努力。一个复杂的因素是,它是在将表单发布数据发送到http://www.xyz.com/xxx.cfm页面的远程服务器上运行的Flash Player,到目前为止您的解决方案无法工作。我试图首先从一个aspx页面模拟帖子... – IrfanClemson
我不认为您的解决方案会按原样运行。从远程服务器发布时发生错误。错误页面确实显示了.cfm页面的目标服务器的URL,错误为:405 - 不允许使用HTTP动词访问此页面。 您正在查找的页面无法显示,因为使用了无效方法(HTTP动词)来尝试访问。 web.config拒绝绝对URL,这就是为什么重定向失败?谢谢。 – IrfanClemson
- 1. ASP.NET重定向规则.cfm文件
- 2. 使用.cfm文件将.cfm文件重定向到.htaccess文件从.cfm到使用查询字符串的.php
- 3. .htaccess 301重定向动态.cfm页面
- 4. CFM重定向301
- 5. 从.CFM文件发布到Facebook页面
- 6. .CFM中的空白页面.CFM(仅限大写)页面
- 7. cfm脚本的重定向代码
- 8. 使用CFM文件
- 9. 301重定向以.cfm结尾的所有文件
- 10. 将页面从asp重定向到aspx
- 11. 从.htm到.cfm的Apache URL重写更改文件扩展名
- 12. 404错误访问CFM页面
- 13. cfm页面不会被拒绝访问
- 14. 错误403同时获得CFM页面
- 15. 如何关闭从处理程序重定向的aspx页面
- 16. 使用IIS的IIS重写URL将所有Cold Fusion CFM页面移动到ASP aspx页面
- 17. 如何从.CFM页PDF在Mac
- 18. 的jQuery中绑定CFM
- 19. 并发当CFM从CFC
- 20. 自动提交到cfm
- 21. ASP.NET不重定向到管理页面
- 22. 如何从PHP处理页面重定向到HTML页面
- 23. URL从html页面重定向到.aspx页面
- 24. 重定向在joomla的htaccess中的.cfm别名重定向失败
- 25. 从Jquery重定向到.aspx文件
- 26. 重定向aspx页面为XAML页面
- 27. 重定向到aspx页面标签
- 28. 代替存根CFM文件使用onMissingTemplate
- 29. .cfm文件显示为原始码
- 30. Asp.net MVC如何处理一个aspx页面调用并重定向它?
还有一件事:我不得不从web.config文件中删除以下内容,因为它产生了一些“编码”错误: –
IrfanClemson