.htaccess 404重定向并保留查询字符串

时间:2015-07-25 20:59:52

标签: .htaccess redirect http-status-code-404

我尝试在我的网站上重定向所有http查询,例如" http://www.example.com/abcd" (产生404错误)到" http://www.example.com/error.php?e=abcd" (将abcd请求保留在数据库中)

我试图用.htaccess文件找到一种方法,但没有什么工作正常:(

我试过这样的事情:

ErrorDocument 404 http://www.example.com/error.php?e=$1

我知道我必须做一些RewriteCond和RewriteRule的东西,但我不知道如何正确使用

由于

1 个答案:

答案 0 :(得分:1)

您应该删除http://...以避免完全重定向,即:

ErrorDocument 403 /error.php?e=403
ErrorDocument 404 /error.php?e=404

现在您可以使用以下方式获取原始404导致URI:

$_SERVER["REQUEST_URI"]=/abcd

$_GET['e']会为您提供代码404403等,以防您想要基于此的逻辑。