wordpress / latest / functions / iis7_save_url_rewrite_rules.html

iis7_save_url_rewrite_rules(): bool|null

Updates the IIS web.config file with the current rules if it is writable.

Description

If the permalinks do not require rewrite rules then the rules are deleted from the web.config file.

Return

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

Source

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

function iis7_save_url_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();
	$web_config_file = $home_path . 'web.config';

	// Using win_is_writable() instead of is_writable() because of a bug in Windows PHP.
	if ( iis7_supports_permalinks()
		&& ( ! file_exists( $web_config_file ) && win_is_writable( $home_path ) && $wp_rewrite->using_mod_rewrite_permalinks()
			|| win_is_writable( $web_config_file ) )
	) {
		$rule = $wp_rewrite->iis7_url_rewrite_rules( false );

		if ( ! empty( $rule ) ) {
			return iis7_add_rewrite_rule( $web_config_file, $rule );
		} else {
			return iis7_delete_rewrite_rule( $web_config_file );
		}
	}

	return false;
}

Uses

Uses Description

Used By

Used By Description

Changelog

Version Description
2.8.0 Introduced.

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