我正在尝试在php中创建一个客户404页面,该页面捕获并可以将所请求的页面登录到数据库中。我已经在我的.htaccess文件中有这个:
ErrorDocument 404 http://mywebsite.com/notfound.php
我要做的是将请求的URI作为查询字符串附加到URL。我试过这个:
ErrorDocument 404 http://mywebsite.com/notfound.php?url=% {REQUEST_URI}
但是URL显示了我在上面放置的文字文本。所以我想我最后需要某种标志,如[QSA]或其他东西,但所有尝试都会导致服务器错误500.
我的最终目标是在notfound.php页面上捕获尝试断开的链接和引用URL(我可以从$ _SERVER ['HTTP_REFERER']获取)并将其记录到我的数据库中,我可以在其中提取报告所有链接,超链接或通过AJAX调用,已损坏或丢失。除了获得导致404错误的实际链接的请求URI之外,我能够做所有事情。
答案 0 :(得分:1)
您不应在目标中使用ErrorDocument 404
http://
来避免完全重定向,例如:
ErrorDocument 404 /devsite/notfound.php
然后原始404 URI将作为$_SERVER["REQUEST_URI"]