Fix the “PHP Fatal error: Call to undefined function get_header()” error in WordPress


Recently, I found out that there is a huge error log file (error_log) in my current theme folder. Upon checking the whole log file contains the following error.

[26-Apr-2014 16:01:14 UTC] PHP Fatal error: Call to undefined function get_header() in /home/user/public_html/www.website.com/wp-content/themes/mytheme/index.php on line 1
[26-Apr-2014 16:08:00 UTC] PHP Fatal error: Call to undefined function get_header() in /home/user/public_html/www.website.com/wp-content/themes/mytheme/index.php on line 1

Upon checking & try to reproduce the error, I find out that the error was generated each time when a visitor tries to access theme’s index.php file directly.

I’m not sure if there will be a security issue, but the error will expose your cPanel username if you are using it.

There are 2 methods on how to fix this problem.

1. Redirect it to main page. To do it, edit “index.php” in the root of theme folder & replace

<?php
get_header();
?>

with

<?php
if (defined('ABSPATH')) {
get_header();

}else{

header("Location: http://" . $_SERVER['HTTP_HOST'] . "");
exit;
}; ?>

2. Disable direct access of theme’s index file. To do it, edit “index.php” in the root of theme folder & replace

<?php
get_header();
?>

with

<?php
if (! defined('ABSPATH'))
die('Access Denied.');

get_header();
?>

Redirect Only Root Directory or Index Page with .htaccess


Previously, we looked at on how to Redirect Everything Except Root Page with .htaccess.

I have another domain where I need to redirect only root directory or index of the domain but not the sub-directory. You may need this is you have cPanel & you need to redirect the main domain without affecting your add-on domain.

To do this, I have to edit the .htaccess file in the root domain & add the following code. Remember to replace “yourolddomain” & “yournewdomain” with your domain name before using it.

RewriteEngine on
RewriteCond %{HTTP_HOST} yourolddomain\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ http://yournewdomain.com/ [L,R=301]

Page 19 of 53« First...10...1718192021...304050...Last »