htaccess重定向错误与get参数中的链接断开

时间:2014-04-02 12:42:39

标签: php .htaccess

我在尝试将用户请求链接断开时将其重定向到一个不错的http错误页面。我希望这个登录页面是一个php页面,它从重定向中收集一些信息并通过电子邮件发送给我。我所挂断的部分是使用php或htaccess获取断开链接的地址。

我当时认为有可能获得与htaccess的链接并将其作为get参数传递给php。

这是我的htaccess文件:

ErrorDocument 400 http://error.page.server/index.php?err=400&site=myweb.site.com
ErrorDocument 401 http://error.page.server/index.php?err=401&site=myweb.site.com
ErrorDocument 403 http://error.page.server/index.php?err=403&site=myweb.site.com
ErrorDocument 404 http://error.page.server/index.php?err=404&site=myweb.site.com
ErrorDocument 500 http://error.page.server/index.php?err=500&site=myweb.site.com

这是服务器处理错误详细信息的php:

<?php
// Get clients IP
function get_ip() {
    $ipaddress = 'UNKNOWN';
    if ($_SERVER['HTTP_CLIENT_IP']) {
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    } else if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else if ($_SERVER['HTTP_X_FORWARDED']) {
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    } else if ($_SERVER['HTTP_FORWARDED_FOR']) {
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    } else if ($_SERVER['HTTP_FORWARDED']) {
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    } else if ($_SERVER['REMOTE_ADDR']) {
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    }
    return $ipaddress;
}

function get_page() {
    return $_SERVER['HTTP_REFERER'];
}

function get_site() {
    $site = 'UNKOWN';
    if ($_GET['site']) {
        $site = $_GET['site'];
    }
    return $site;
}

function get_error() {
    $error = 'UNKOWN';
    if ($_GET['err']) {
        $error = $_GET['err'];
    }
    return $error;
}

// Gather info into an array
function gather_info() {
    return array('IP Address' => get_ip(), 'Web Site' => get_site(), 'Web Page' => get_page(), 'Error' => get_error());
}

截至目前,当htaccess重定向到此脚本时,get_page()函数返回null。而不是试图通过脚本从标题中提取信息有没有办法通过htaccess将页面放在一个新的get参数中?

类似的东西:

ErrorDocument 400 http://error.page.server/index.php?err=400&site=myweb.site.com&page= %VARIABLE HERE%

编辑:还要注意,这是我第一次使用.htaccess,对不起,如果这是一个愚蠢的问题。

0 个答案:

没有答案