我有一个网站-example.com。它具有静态页面-example.com/signup、example.com/faq等。
但是,我希望能够拥有“ example.com/some-search-term”。当然,没有页面“ some-search-term”。
我尝试在404错误页面上安装自定义模块,该模块将使用查询字符串并根据该搜索条件显示一些信息。但是,我仍然收到404错误“ HTTP404:未找到-服务器未找到与请求的URI(统一资源标识符)匹配的任何内容。GET- http://example.com/some-search-term”。并且页面为空白。
当触发404页面时,我可以调试模块,并可以正常工作,但最终结果不会显示。
有任何想法吗?
我以另一种方式解决了这个问题。
DNN提供默认的404页面。我只是添加了一个自定义模块,用于评估Page_Load()上的状态代码:
_rcode = Response.StatusCode;
if (_rcode == 404) //we're on our 404 page
{
Response.Clear();
Server.ClearError();
}
然后,模块对查询字符串进行一些数据库查找,以查看是否存在任何匹配项。如果存在,它将重定向到适当的页面。如果没有匹配项,那么我会产生404错误。
我试图将所有内容保留在404页上,但我不能。由于页面“ example.com/some-search-term”实际上并不存在,因此某些页面组件不可用(例如IsPostBack,ViewState,Session等),因此很难生成有效的页面。甚至将Response.StatusCode设置为200也不起作用。
最终,除非我希望,否则我试图阻止google看到404错误。这似乎奏效了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句