Asp.net mvc 4 如何重定向到asp.net mvc 4控制器操作到php文件的帖子

Asp.net mvc 4 如何重定向到asp.net mvc 4控制器操作到php文件的帖子,asp.net-mvc-4,Asp.net Mvc 4,我正在建设一个asp mvc4网站,以取代旧的php网站。由于各种原因,世界上有一些客户端应用程序连接到旧站点中的一些php文件,我已经成功地使用RouteConfig文件中的routes.MapRoutes重新路由了这些应用程序。其中每一个都在url中发送数据,因此我可以像下面这样轻松捕获它:filename.php/{dataVar}。但是,我发现当我像这样重定向时: routes.MapRoute( name: "RegisterForm", url: "register.

我正在建设一个asp mvc4网站,以取代旧的php网站。由于各种原因,世界上有一些客户端应用程序连接到旧站点中的一些php文件,我已经成功地使用RouteConfig文件中的routes.MapRoutes重新路由了这些应用程序。其中每一个都在url中发送数据,因此我可以像下面这样轻松捕获它:filename.php/{dataVar}。但是,我发现当我像这样重定向时:

routes.MapRoute(
    name: "RegisterForm",
    url: "register.php",
    new { controller = "PhpReroutes", action = "RegisterForm" }
我的浏览器地址是: localhost:55551/register.php,操作方法中的断点从未命中

如果在重新路由url:register.php/和浏览器url localhost:55551/register.php/中添加斜杠,则会命中断点。我无法修改客户端应用程序,因此我必须找到一种方法,使重新路由在没有斜杠的情况下工作

我尝试了几乎所有的配置,有[HttpPost]在endpoint方法之上,没有[HttpPost],还有我能想到的一切


是否有我遗漏的内容?

您可能需要使用以下内容:

返回重定向

更新

您可以将url路由编写为:

> public static void RegisterRoutes(RouteCollection routes) {
>     routes.MapPageRoute("",
>         "Category/{action}/{categoryName}",
>         "~/categoriespage.aspx"); }

请看我之前回答的一个问题。我认为问题在于,使用.php扩展名时,MVC不会被调用

解决方案是让MVC处理所有请求:

由于我的重路由没有调用任何操作,您建议我在何处使用此选项?值得注意的是,这些选项是:首先,您可以创建PHP路由控制器并将数据放入其中。第二步创建.httpAccess文件并在此处添加路由我还有另外三个.php文件的重路由,它们工作得非常好。这不是问题所在。