Plugin Directory

Changeset 3447843


Ignore:
Timestamp:
01/27/2026 12:29:16 PM (3 weeks ago)
Author:
jamesmackie
Message:

Fix robots.txt redirect issue - only add rewrite rule when content exists

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ezy-ai/trunk/includes/class-ezy-ai-robots.php

    r3445452 r3447843  
    8080       
    8181        if (!$robots_content) {
     82            global $wp_query;
     83            unset($wp_query->query_vars['ezy_robots_txt']);
     84            $wp_query->is_robots = false;
    8285            return;
    8386        }
     
    189192
    190193        $this->cleanup_competing_robots_files();
     194       
     195        $this->ensure_rewrite_rule();
    191196
    192197        return true;
     
    194199
    195200    public static function activate() {
    196         add_rewrite_rule('^robots\.txt$', 'index.php?ezy_robots_txt=1', 'top');
     201        $robots_content = get_option(self::ROBOTS_OPTION);
     202        if (!empty($robots_content)) {
     203            add_rewrite_rule('^robots\.txt$', 'index.php?ezy_robots_txt=1', 'top');
     204            flush_rewrite_rules(false);
     205        }
     206    }
     207
     208    public static function deactivate() {
    197209        flush_rewrite_rules(false);
    198210    }
    199 
    200     public static function deactivate() {
     211   
     212    private function ensure_rewrite_rule() {
     213        global $wp_rewrite;
     214        $rules = get_option('rewrite_rules');
     215        $rule_key = '^robots\.txt$';
     216       
     217        if (!isset($rules[$rule_key])) {
     218            add_rewrite_rule('^robots\.txt$', 'index.php?ezy_robots_txt=1', 'top');
     219            flush_rewrite_rules(false);
     220        }
     221    }
     222   
     223    private function remove_rewrite_rule() {
     224        flush_rewrite_rules(false);
    201225    }
    202226
     
    204228        delete_option(self::ROBOTS_OPTION);
    205229        delete_option(self::ROBOTS_UPDATED_OPTION);
     230        $this->remove_rewrite_rule();
    206231        return true;
    207232    }
Note: See TracChangeset for help on using the changeset viewer.