wordpress / latest / functions / save_mod_rewrite_rules.html

save_mod_rewrite_rules(): bool|null

Updates the htaccess file with the current rules if it is writable.

Description

Always writes to the file if it exists and is writable to ensure that we blank out old rules.

Return

bool|null True on write success, false on failure. Null in multisite.

Source

File: wp-admin/includes/misc.php. View all references

function save_mod_rewrite_rules() {
	global $wp_rewrite;

	if ( is_multisite() ) {
		return;
	}

	// Ensure get_home_path() is declared.
	require_once ABSPATH . 'wp-admin/includes/file.php';

	$home_path     = get_home_path();
	$htaccess_file = $home_path . '.htaccess';

	/*
	 * If the file doesn't already exist check for write access to the directory
	 * and whether we have some rules. Else check for write access to the file.
	 */
	if ( ! file_exists( $htaccess_file ) && is_writable( $home_path ) && $wp_rewrite->using_mod_rewrite_permalinks()
		|| is_writable( $htaccess_file )
	) {
		if ( got_mod_rewrite() ) {
			$rules = explode( "\n", $wp_rewrite->mod_rewrite_rules() );

			return insert_with_markers( $htaccess_file, 'WordPress', $rules );
		}
	}

	return false;
}

Uses

Uses Description

Used By

Used By Description

Changelog

Version Description
1.5.0 Introduced.

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/save_mod_rewrite_rules