I have not been able to recreate this possible issue on a XAMPP testing site.
This is the original issue.
When activating the My Calendar plugin the root .htaccess code is overwritten with several instances of the default WP rewrite code between BEGIN WordPress and END WordPress
The section of code that looks like it might be capable of doing this is located in my-calendar-core.php from code lines 11-33, but as i stated i have not been able to recreate the issue.
function my_calendar_add_feed() {
global $wp_rewrite, $wpdb;
if ( get_option('mc_show_rss') == 'true' ) {
add_feed( 'my-calendar-rss', 'my_calendar_rss' );
}
if ( get_option('mc_show_ical') == 'true' ) {
add_feed( 'my-calendar-ics', 'my_calendar_ical' );
}
if ( get_option('mc_show_print') == 'true' ) {
add_feed( 'my-calendar-print', 'my_calendar_print' );
}
if ( get_option('mc_show_rss') == 'true' || get_option('mc_show_ical') == 'true' || get_option('mc_show_print') == true ) {
add_action('generate_rewrite_rules', 'mc_rewrite_rules');
$wp_rewrite->flush_rules();
}
}
function mc_rewrite_rules( $wp_rewrite ) {
$new_rules = array(
'feed/(.+)' => 'index.php?feed='.$wp_rewrite->preg_index(1)
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
This is the .htaccess code that is being added to the root .htaccess file when activating My Calendar.
# END WordPress is replaced by WP htaccess code.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /employees/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /employees/index.php [L]
</IfModule>
# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /employees/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /employees/index.php [L]
</IfModule>
# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /employees/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /employees/index.php [L]
</IfModule>
# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /employees/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /employees/index.php [L]
</IfModule>
# END WordPress
# This removes all of the BPS security code and replaces it with just the default WP htaccess code
# To restore this file use BPS Restore or activate BulletProof Mode for your Root folder again.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /employees/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /employees/index.php [L]
</IfModule>
# END WordPress
If i "lock" the root .htaccess file with 404 Read Only permissions this issue does not occur because the file is not writable.
If i leave My Calendar activated and then try to write to the root .htaccess file with the BulletProof Security .htaccess editor or with any inline / online file editor the new file edits are not written and are ignored and the root .htaccess file is not updated.