当请求到不存在的资源时,当页面被重定向到自定义404错误页面时,我需要从url中删除查询字符串,例如
www.ourweb/non-exsiting.aspx
将被重定向到
www.ourweb/errors/notfound.aspx?item=%2fpayments%2faccount%2fnon-existing&user=extranet\Anonymous&site=website_121_payments
我需要从此网址中删除所有查询字符串。
最好的方法是什么?
我所做的是从sitecore.pipelines.HttpRequest.ExecuteRequest
创建了一个继承的类
public class ItemNotFoundProcessor : ExecuteRequest
{
protected override void RedirectOnItemNotFound(string url)
{
url = Settings.ItemNotFoundUrl;
base.RedirectOnItemNotFound(url);
}
}
并在site.config
processor type ="namespace.ItemNotFoundProcessor"
processor type="Sitecore.Pipelines.HttpRequest.ExecuteRequest, Sitecore.Kernel"
它似乎有效,但不确定是否有任何副作用。
有人可以告诉我这是否是合适的解决方案。
提前致谢。