我的问题是这样的:
我创建了一个自定义的404错误页面(error.html),我希望它在显示时不实际重定向到该页面,从而保留用户输入的URL。
用户在地址栏中输入*“http://localhost/whatever.url/would/be”*。
error.html显示,但地址栏中的URL仍为用户输入的URL:
- “http://localhost/无论.url/是什么”*
我尝试了其他人的指南和答案,但他们不为我工作,也许是因为我真的很业余,我不知道如何.htaccess实际上是工作的,对不起。
除此之外,我的.htaccess目前看起来如下所示:ErrorDocument 404 http://localhost/www.minimalistik.de/fejle/404/fejl.html/
是的,这不是很多。感谢所有帮助我的人:)
1条答案
按热度按时间j5fpnvbx1#
要通过内部子请求提供错误文档(即浏览器地址栏中的URL不改变),只需在
ErrorDocument
指令中指定一个指向错误文档的根目录相对URL(以斜杠开头)(这通常被认为是“正常”行为)。例如,如果您的
error.html
档案位于文件根目录下的/error-documents
子目录中,则您可以使用下列指令:用户 * 不会 * 从外部重定向到错误文档。
但是,如果指定绝对URL(即使用scheme + hostname),则Apache会触发302(临时)重定向到错误文档,用户被外部重定向。没有“404 Not Found”响应返回到客户端,除非错误文档本身返回404状态。如果返回200 OK(默认值),则错误文档本身可能会被搜索引擎索引!不用说,这是不推荐的,在大多数情况下都是一个错误。
参考: