c# - 如何处理带有问号“?”的旧 aspx url 在不使用 IIS 的新 mvc 网站中
问题描述
我已将我的网站页面从 aspx 移动到 mvc。我已经在社交媒体上有了我的旧链接。在我的 mvc 更改发布后,我的旧 URL 停止工作,这正是问题所在。
我正在使用 plesk,这个版本没有任何重定向 URL 的设置。所以我认为我不能在 IIS 中使用重定向
我的旧网址:https ://www.abc123.com/movie?123
我的新网址:https ://www.abc123.com/title/123
如果我的旧网址具有正确的查询字符串,例如https://www.abc123.com/movie?id=123 ,我在 MVC 中有解决方法来处理 aspx URL
[Route("movie")]
[Route("Title/{id}")]
public ActionResult Index(int id)
{
}
但这不适用于 URL https://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
推荐阅读
- google-apps-script - 将触发器移动到电子表格的副本
- javascript - 当应用程序处于非活动状态或在反应原生android中关闭时,如何获取用户当前位置的经纬度点?
- php - 如何计算每个数组的结果
- python - 随机选择字符串中元素的百分比并更改值
- html - 使用 Kanna Swift 仅解析 HTML 中的纯文本
- slack - Slack - 更改消息提醒的周开始日
- javascript - 在构造函数中访问道具的正确方法是什么?
- hex - 使用wireshark从UDP十六进制转储中获取jpg
- anaconda - (111) 在 windows server 2012 上运行的 jupyter notebook 中拒绝连接到 localhost
- python - Python:从外部()调用内部()