我正在构建一个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(url:“register.php /”)和浏览器url(localhost:55551 / register.php /)中添加斜杠,则会触发断点。我无法修改客户端应用程序,所以我必须找到一种方法来使重新路由工作没有斜线。
我已经尝试过看似每个配置,[HttpPost]在端点方法之上,没有,以及我能想到的其他一切。
我有什么遗失的吗?
答案 0 :(得分:0)
你可能想要使用诸如
之类的东西返回重定向(“http://www.google.com”);
更新
您可以将您的网址路由编写为:
> public static void RegisterRoutes(RouteCollection routes) {
> routes.MapPageRoute("",
> "Category/{action}/{categoryName}",
> "~/categoriespage.aspx"); }
答案 1 :(得分:0)
请看一下我之前回答过的问题。我相信问题是,使用.php扩展名,MVC不会被调用。
解决方案是让MVC处理所有请求: https://stackoverflow.com/a/18140497/84395