我已经将我的网站页面从aspx移动到mvc。我已经在社交媒体上有了我的旧链接。在我的mvc更改发布后,我的旧URL停止工作,这正是问题所在。
我正在使用plesk,这个版本没有任何重定向URL的设置。所以我认为我不能在IIS 中使用重定向
我的旧URL:https://www.abc123.com/movie?123
我的新URL:https://www.abc123.com/title/123
如果我的旧URL有合适的查询字符串,我在MVC中有一个解决办法来处理aspx URL,比如https://www.abc123.com/movie?id=123
[Route("movie")]
[Route("Title/{id}")]
public ActionResult Index(int id)
{
}
但这不适用于URLhttps://www.abc123.com/movie?123因为问号(?(不能在路由配置中使用。
请帮我处理我的这个问题。
以下是我解决问题的方法:
在标题的控制器中,我添加了以下代码,
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if (((HttpRequestWrapper)Request).CurrentExecutionFilePath.ToLower() != "/movie") {return; }
var id = Request.QueryString[null];
int titleid;
if (!int.TryParse(id, out titleid)) return;
Response.RedirectPermanent("~/title/" + titleid);
}
感谢AA