.htaccess 将URL参数添加到Htaccess重定向错误文档

vi4fp9gy  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(137)

在我的网站上,当用户导航到一个无效的URL时,我仍然想显示他要找的内容,但当我通过.htacces重定向到我的error.php时,错误的URL丢失了。
我正在使用这个来重定向(.htaccess):

ErrorDocument 404 https://www.mywebsite.com/error.php

我想insead的是添加错误的URL到重定向的末尾作为URL参数。
例如,当用户导航到这个URL https:www.mywebsite.com/this-does-not-exist时,我希望它也反映在我的error.php中,并将最后一部分作为URL参数添加进去。

https://www.mywebsite.com/error.php?url=this-does-not-exist

我已经试过做ErrorDocument 404 https://www.mywebsite.com/error.php?url=$1,我也试过ErrorDocument 404 https://www.mywebsite.com/error.php [L],两个版本都没有给予我想要的结果。
如何将错误的url作为htaccess中的url参数添加到ErrorDocument重定向中?

ibps3vxo

ibps3vxo1#

最简单的方法是在.htaccess IE中使用文档根目录而不是主机:

ErrorDocument 404 /error.php

然后,在PHP脚本error.php中,只需使用

$url = $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
echo "The page $url you are trying to reach doesn't exist!";

始终保持当前的URL

https://www.mywebsite.com/this-does-not-exist

显示在URL栏中。

相关问题