我只是想知道如何获得网页的链接,这是我的网站上找不到的。
使用下面的.htaccess代码,当请求不存在的页面时,用户将被重定向到my_404.php。
Options -Indexes
ErrorDocument 404 http://mysite.com/my_404.php
如果我必须找到页面的链接,但没有找到,我该怎么做呢?
例如,A.php是一个有效的网页,而b.php不是。因此,如果我在A.php上并尝试查看b.php (不存在的页面)。.htaccess将我重定向到my_404.php,在它上我看到HTTP_REFERER
是A.php。但我要找的是“有人试图看B.php”。我该怎么做?
谢谢你的帮助。
编辑
请看:我不想签入日志文件。我在页面上问一些事情。谢谢。
发布于 2009-06-29 04:25:42
当您使用像http://mysite.com/my_404.php
这样的远程http://mysite.com/my_404.php
URL时,Apache将向客户端发送一个重定向到该URL,这就是为什么您不能像Matt建议的那样从$_SERVER['REQUEST_URI']
获得导致404的URL。您可能需要尝试使用本地ErrorDocument (无方案和服务器名),如下所示:
ErrorDocument 404 /my_404.php
我怀疑$_SERVER['REQUEST_URI']
会返回最初请求的URL。
发布于 2009-06-29 04:03:26
发布于 2009-06-29 04:05:22
您要寻找的变量称为$_SERVER‘’。它保存客户端向您的服务器发出的原始请求。
您可以看到其他"$_SERVER“变量这里的列表。
编辑:
在google搜索之后,您的问题是错误页面是用http://限定符指定的。更改htaccess,以便将ErrorDocument指定为本地文件,例如:
ErrorDocument 404 /www/my_404.php
这样做之后,$_SERVER‘’应该保存正确的值。
https://stackoverflow.com/questions/1057928
复制