Whoops \ Exception \ ErrorException (E_WARNING)
Cannot modify header information - headers already sent by (output started at /home1/pcloutier/public_html/wp-content/themes/verteb/verteb-components/SubgridController.php:16) Whoops\Exception\ErrorException thrown with message "Cannot modify header information - headers already sent by (output started at /home1/pcloutier/public_html/wp-content/themes/verteb/verteb-components/SubgridController.php:16)" Stacktrace: #8 Whoops\Exception\ErrorException in /home1/pcloutier/public_html/wp-includes/pluggable.php:1435 #7 header in /home1/pcloutier/public_html/wp-includes/pluggable.php:1435 #6 wp_redirect in /home1/pcloutier/public_html/wp-includes/canonical.php:831 #5 redirect_canonical in /home1/pcloutier/public_html/wp-includes/class-wp-hook.php:324 #4 WP_Hook:apply_filters in /home1/pcloutier/public_html/wp-includes/class-wp-hook.php:348 #3 WP_Hook:do_action in /home1/pcloutier/public_html/wp-includes/plugin.php:517 #2 do_action in /home1/pcloutier/public_html/wp-includes/template-loader.php:13 #1 require_once in /home1/pcloutier/public_html/wp-blog-header.php:19 #0 require in /home1/pcloutier/public_html/index.php:17
Stack frames (9)
8
Whoops\Exception\ErrorException
/home1/pcloutier/public_html/wp-includes/pluggable.php1435
7
header
/home1/pcloutier/public_html/wp-includes/pluggable.php1435
6
wp_redirect
/home1/pcloutier/public_html/wp-includes/canonical.php831
5
redirect_canonical
/home1/pcloutier/public_html/wp-includes/class-wp-hook.php324
4
WP_Hook apply_filters
/home1/pcloutier/public_html/wp-includes/class-wp-hook.php348
3
WP_Hook do_action
/home1/pcloutier/public_html/wp-includes/plugin.php517
2
do_action
/home1/pcloutier/public_html/wp-includes/template-loader.php13
1
require_once
/home1/pcloutier/public_html/wp-blog-header.php19
0
require
/home1/pcloutier/public_html/index.php17
/home1/pcloutier/public_html/wp-includes/pluggable.php
        $location = wp_sanitize_redirect( $location );
 
        if ( ! $is_IIS && 'cgi-fcgi' !== PHP_SAPI ) {
            status_header( $status ); // This causes problems on IIS and some FastCGI setups.
        }
 
        /**
         * Filters the X-Redirect-By header.
         *
         * Allows applications to identify themselves when they're doing a redirect.
         *
         * @since 5.1.0
         *
         * @param string|false $x_redirect_by The application doing the redirect or false to omit the header.
         * @param int          $status        Status code to use.
         * @param string       $location      The path to redirect to.
         */
        $x_redirect_by = apply_filters( 'x_redirect_by', $x_redirect_by, $status, $location );
        if ( is_string( $x_redirect_by ) ) {
            header( "X-Redirect-By: $x_redirect_by" );
        }
 
        header( "Location: $location", true, $status );
 
        return true;
    }
endif;
 
if ( ! function_exists( 'wp_sanitize_redirect' ) ) :
    /**
     * Sanitizes a URL for use in a redirect.
     *
     * @since 2.3.0
     *
     * @param string $location The path to redirect to.
     * @return string Redirect-sanitized URL.
     */
    function wp_sanitize_redirect( $location ) {
        // Encode spaces.
        $location = str_replace( ' ', '%20', $location );
Arguments
  1. "Cannot modify header information - headers already sent by (output started at /home1/pcloutier/public_html/wp-content/themes/verteb/verteb-components/SubgridController.php:16)"
    
/home1/pcloutier/public_html/wp-includes/pluggable.php
        $location = wp_sanitize_redirect( $location );
 
        if ( ! $is_IIS && 'cgi-fcgi' !== PHP_SAPI ) {
            status_header( $status ); // This causes problems on IIS and some FastCGI setups.
        }
 
        /**
         * Filters the X-Redirect-By header.
         *
         * Allows applications to identify themselves when they're doing a redirect.
         *
         * @since 5.1.0
         *
         * @param string|false $x_redirect_by The application doing the redirect or false to omit the header.
         * @param int          $status        Status code to use.
         * @param string       $location      The path to redirect to.
         */
        $x_redirect_by = apply_filters( 'x_redirect_by', $x_redirect_by, $status, $location );
        if ( is_string( $x_redirect_by ) ) {
            header( "X-Redirect-By: $x_redirect_by" );
        }
 
        header( "Location: $location", true, $status );
 
        return true;
    }
endif;
 
if ( ! function_exists( 'wp_sanitize_redirect' ) ) :
    /**
     * Sanitizes a URL for use in a redirect.
     *
     * @since 2.3.0
     *
     * @param string $location The path to redirect to.
     * @return string Redirect-sanitized URL.
     */
    function wp_sanitize_redirect( $location ) {
        // Encode spaces.
        $location = str_replace( ' ', '%20', $location );
Arguments
  1. "X-Redirect-By: WordPress"
    
/home1/pcloutier/public_html/wp-includes/canonical.php
     * Filters the canonical redirect URL.
     *
     * Returning false to this filter will cancel the redirect.
     *
     * @since 2.3.0
     *
     * @param string $redirect_url  The redirect URL.
     * @param string $requested_url The requested URL.
     */
    $redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
 
    // Yes, again -- in case the filter aborted the request.
    if ( ! $redirect_url || strip_fragment_from_url( $redirect_url ) === strip_fragment_from_url( $requested_url ) ) {
        return;
    }
 
    if ( $do_redirect ) {
        // Protect against chained redirects.
        if ( ! redirect_canonical( $redirect_url, false ) ) {
            wp_redirect( $redirect_url, 301 );
            exit;
        } else {
            // Debug.
            // die("1: $redirect_url<br />2: " . redirect_canonical( $redirect_url, false ) );
            return;
        }
    } else {
        return $redirect_url;
    }
}
 
/**
 * Removes arguments from a query string if they are not present in a URL
 * DO NOT use this in plugin code.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string $query_string
 * @param array  $args_to_check
Arguments
  1. "https://adnmedia.net/projets/"
    
  2. 301
    
/home1/pcloutier/public_html/wp-includes/class-wp-hook.php
 
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        $num_args = count( $args );
 
        do {
            $this->current_priority[ $nesting_level ] = current( $this->iterations[ $nesting_level ] );
 
            $priority = $this->current_priority[ $nesting_level ];
 
            foreach ( $this->callbacks[ $priority ] as $the_ ) {
                if ( ! $this->doing_action ) {
                    $args[0] = $value;
                }
 
                // Avoid the array_slice() if possible.
                if ( 0 === $the_['accepted_args'] ) {
                    $value = call_user_func( $the_['function'] );
                } elseif ( $the_['accepted_args'] >= $num_args ) {
                    $value = call_user_func_array( $the_['function'], $args );
                } else {
                    $value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
                }
            }
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
Arguments
  1. "https://adnmedia.net/projets"
    
/home1/pcloutier/public_html/wp-includes/class-wp-hook.php
        } while ( false !== next( $this->iterations[ $nesting_level ] ) );
 
        unset( $this->iterations[ $nesting_level ] );
        unset( $this->current_priority[ $nesting_level ] );
 
        --$this->nesting_level;
 
        return $value;
    }
 
    /**
     * Calls the callback functions that have been added to an action hook.
     *
     * @since 4.7.0
     *
     * @param array $args Parameters to pass to the callback functions.
     */
    public function do_action( $args ) {
        $this->doing_action = true;
        $this->apply_filters( '', $args );
 
        // If there are recursive calls to the current action, we haven't finished it until we get to the last one.
        if ( ! $this->nesting_level ) {
            $this->doing_action = false;
        }
    }
 
    /**
     * Processes the functions hooked into the 'all' hook.
     *
     * @since 4.7.0
     *
     * @param array $args Arguments to pass to the hook callbacks. Passed by reference.
     */
    public function do_all_hook( &$args ) {
        $nesting_level                      = $this->nesting_level++;
        $this->iterations[ $nesting_level ] = $this->priorities;
 
        do {
            $priority = current( $this->iterations[ $nesting_level ] );
Arguments
  1. null
    
  2. array:1 [
      0 => ""
    ]
    
/home1/pcloutier/public_html/wp-includes/plugin.php
    if ( ! isset( $wp_filter[ $hook_name ] ) ) {
        if ( isset( $wp_filter['all'] ) ) {
            array_pop( $wp_current_filter );
        }
 
        return;
    }
 
    if ( ! isset( $wp_filter['all'] ) ) {
        $wp_current_filter[] = $hook_name;
    }
 
    if ( empty( $arg ) ) {
        $arg[] = '';
    } elseif ( is_array( $arg[0] ) && 1 === count( $arg[0] ) && isset( $arg[0][0] ) && is_object( $arg[0][0] ) ) {
        // Backward compatibility for PHP4-style passing of `array( &$this )` as action `$arg`.
        $arg[0] = $arg[0][0];
    }
 
    $wp_filter[ $hook_name ]->do_action( $arg );
 
    array_pop( $wp_current_filter );
}
 
/**
 * Calls the callback functions that have been added to an action hook, specifying arguments in an array.
 *
 * @since 2.1.0
 *
 * @see do_action() This function is identical, but the arguments passed to the
 *                  functions hooked to `$hook_name` are supplied using an array.
 *
 * @global WP_Hook[] $wp_filter         Stores all of the filters and actions.
 * @global int[]     $wp_actions        Stores the number of times each action was triggered.
 * @global string[]  $wp_current_filter Stores the list of current filters with the current one last.
 *
 * @param string $hook_name The name of the action to be executed.
 * @param array  $args      The arguments supplied to the functions hooked to `$hook_name`.
 */
function do_action_ref_array( $hook_name, $args ) {
Arguments
  1. array:1 [
      0 => ""
    ]
    
/home1/pcloutier/public_html/wp-includes/template-loader.php
<?php
/**
 * Loads the correct template based on the visitor's url
 *
 * @package WordPress
 */
if ( wp_using_themes() ) {
    /**
     * Fires before determining which template to load.
     *
     * @since 1.5.0
     */
    do_action( 'template_redirect' );
}
 
/**
 * Filters whether to allow 'HEAD' requests to generate content.
 *
 * Provides a significant performance bump by exiting before the page
 * content loads for 'HEAD' requests. See #14348.
 *
 * @since 3.5.0
 *
 * @param bool $exit Whether to exit without generating any content for 'HEAD' requests. Default true.
 */
if ( 'HEAD' === $_SERVER['REQUEST_METHOD'] && apply_filters( 'exit_on_http_head', true ) ) {
    exit;
}
 
// Process feeds and trackbacks even if not using themes.
if ( is_robots() ) {
    /**
     * Fired when the template loader determines a robots.txt request.
     *
     * @since 2.1.0
     */
    do_action( 'do_robots' );
    return;
} elseif ( is_favicon() ) {
    /**
Arguments
  1. "template_redirect"
    
/home1/pcloutier/public_html/wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
Arguments
  1. "/home1/pcloutier/public_html/wp-includes/template-loader.php"
    
/home1/pcloutier/public_html/index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 
Arguments
  1. "/home1/pcloutier/public_html/wp-blog-header.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"Apache"
REQUEST_URI
"/projets"
LSPHP_ENABLE_USER_INI
"on"
PATH
"/usr/local/bin:/usr/bin:/bin"
TEMP
"/tmp"
TMP
"/tmp"
TMPDIR
"/tmp"
PWD
"/"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
CONTENT_LENGTH
"0"
HTTP_HOST
"adnmedia.net"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_X_HTTPS
"1"
REDIRECT_UNIQUE_ID
"Z5Eiytx8L7Op46d2BXSY4QAB5ho"
REDIRECT_QS_ConnectionId
"173756487473017442211221"
REDIRECT_SCRIPT_URL
"/projets"
REDIRECT_SCRIPT_URI
"https://adnmedia.net/projets"
REDIRECT_HTTP_AUTHORIZATION
""
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"adnmedia.net"
REDIRECT_HTTP2
"on"
REDIRECT_H2PUSH
"off"
REDIRECT_H2_PUSH
"off"
REDIRECT_H2_PUSHED
""
REDIRECT_H2_PUSHED_ON
""
REDIRECT_H2_STREAM_ID
"1"
REDIRECT_H2_STREAM_TAG
"211221-8-1"
REDIRECT_STATUS
"200"
UNIQUE_ID
"Z5Eiytx8L7Op46d2BXSY4QAB5ho"
QS_ConnectionId
"173756487473017442211221"
SCRIPT_URL
"/projets"
SCRIPT_URI
"https://adnmedia.net/projets"
HTTP_AUTHORIZATION
""
HTTPS
"on"
SSL_TLS_SNI
"adnmedia.net"
HTTP2
"on"
H2PUSH
"off"
H2_PUSH
"off"
H2_PUSHED
""
H2_PUSHED_ON
""
H2_STREAM_ID
"1"
H2_STREAM_TAG
"211221-8-1"
SERVER_SIGNATURE
""
SERVER_NAME
"adnmedia.net"
SERVER_ADDR
"108.179.235.185"
SERVER_PORT
"443"
REMOTE_ADDR
"18.220.81.170"
DOCUMENT_ROOT
"/home1/pcloutier/public_html"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/home1/pcloutier/public_html"
SERVER_ADMIN
"webmaster@adnmedia.net"
SCRIPT_FILENAME
"/home1/pcloutier/public_html/index.php"
REMOTE_PORT
"1889"
REDIRECT_URL
"/projets"
SERVER_PROTOCOL
"HTTP/2.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1737564874,7484
REQUEST_TIME
1737564874
argv
[]
argc
0
ENV
"prod"
LOGFILE
"VERTEB_LOG.txt"
USE_TWIG
"yes"
TWIG_DIR
"verteb-views/views"
TWIG_DIR_CUSTOM
"verteb-views/views-custom"
WORKING_DIR
""
USE_CLASS_ACCUMULATOR
"false"
DEFAULT_GUTTER
"4"
OPTIONS_FILES_DIR_PHP
"verteb-theme-options/OptionData"
OPTIONS_FILES_DATA_TEMPLATE
"verteb-theme-options/OptionTemplate.txt"
Key Value
ENV
"prod"
LOGFILE
"VERTEB_LOG.txt"
USE_TWIG
"yes"
TWIG_DIR
"verteb-views/views"
TWIG_DIR_CUSTOM
"verteb-views/views-custom"
WORKING_DIR
""
USE_CLASS_ACCUMULATOR
"false"
DEFAULT_GUTTER
"4"
OPTIONS_FILES_DIR_PHP
"verteb-theme-options/OptionData"
OPTIONS_FILES_DATA_TEMPLATE
"verteb-theme-options/OptionTemplate.txt"
0. Whoops\Handler\PrettyPageHandler