• As we share a hacked installation of WP among various sites we can’t properly use the plugin as one site rule changes overwrite the others.
    We can easily change apache to use “htaccess.subsite” but this would require changing where the plugin writes. Any clue on how to do this? is this possible?
    Thank you.

    https://wordpress.org/plugins/better-wp-security/

Viewing 5 replies - 1 through 5 (of 5 total)
  • Hey Alsur,

    This isn’t possible. As it is the settings are going to be network wide.

    Thanks,

    Gerroald

    Thread Starter alsur

    (@alsur)

    Thanks, but we have a var that represents each site, we could easly concatenate it as in “.htaccess-$subsite” which would be different for each.
    The question is if in your code the path to .htaccess file is defined globaly as a variable or not in order to modifiy that.
    Thanks.

    Thread Starter alsur

    (@alsur)

    In case of interest this is what we have chnaged for our need.
    It’s a very personalized solution but perhaps of interest to others or for future features.

    better-wp-security\core\class-itsec-global-settings.php:

    public function write_files() {
    
    global $itsec_globals;
    
    if ( isset( $this->settings['write_files'] ) && $this->settings['write_files'] === true ) {
    $write_files = 1;
    } else {
    $write_files = 0;
    }
    
    if ( ITSEC_Lib::get_server() == 'nginx' ) {
    $server_file = ;
    } else {
    // alsur.es modified for multisite htaccess files
    $site_name = get_bloginfo('name');
    $site_name = str_replace(' ','', $site_name); // Quitamos espacios en blanco
    $site_name = strtolower($site_name); // Ponemos en minusculas
    $site_name = "_".$site_name;
    
    $server_file = ' and .htaccess'.$site_name;
    }

    better-wp-security\core\class-itsec-lib.php:

    public static function get_htaccess() {
    
    global $itsec_globals;
    
    if ( ITSEC_Lib::get_server() === 'nginx' ) {
    
    return $itsec_globals['settings']['nginx_file'];
    
    } else {
    // alsur.es modified for multisite htaccess files
    $site_name = get_bloginfo('name');
    $site_name = str_replace(' ', '', $site_name); // Quitamos espacios en blanco
    $site_name = strtolower($site_name); // Ponemos en minusculas
    $site_name = "_".$site_name;
                return ITSEC_Lib::get_home_path() . '.htaccess' .$site_name;
    
    }
    
    }

    Each apache conf is then configured to use the renamed .htaccess file

    Hi,

    Thanks for sharing this! I’ll make sure the developer sees it.

    I’m sure you’re aware but so others that may not be, editing the plugin is not suggested because when you update it your changes will overwritten.

    Thanks,

    Gerroald

    Thread Starter alsur

    (@alsur)

    Only chance till we have an alternative. As suggested it would be great if the plugin supported at least a global preference to set the .htaccess filename per site/config

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘change .htaccess filename’ is closed to new replies.