我们将404错误页面重定向到要跟踪的php页面。
我们使用了.htaccess
代码:
ErrorDocument 404 404.php?sr=%{REQUEST_URI}
但是在我们的404.php
页面上,我们正在尝试抓取:
$requri = getenv ("REQUEST_URI");
它没有向我们显示用户被重定向的页面名称,如abc.html
,我们想要检测该页面名称,任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:1)
您可以使用mod-rewrite将不存在的请求重定向到404.php:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /404.php?sr=$1 [NC,L]
-d 与现有目录匹配, -f 与服务器上的现有文件匹配。在将请求重定向到/404.php之前,RewriteCond会检查所请求的文件名是否!现有目录或文件。
您也可以将$1
替换为%{REQUEST_URI}
以获取完整的uri。