# save_mod_rewrite_rules()

URL: https://chugunov.pro/api-wordpress/functions/save_mod_rewrite_rules/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 1.5.0.

## Сигнатура

```php
save_mod_rewrite_rules(): bool|null
```

## Описание

Всегда выполняет запись в файл, если он существует и доступен для записи, чтобы гарантированно очистить старые правила.

## Возвращаемое значение

`bool|null`

## Исходный код

Файл: `wp-admin/includes/misc.php:262`

```php
function save_mod_rewrite_rules() {
	global $wp_rewrite;

	if ( is_multisite() ) {
		return null;
	}

	// 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;
}
```

## История изменений

- 1.5.0 — Introduced.

## Связанные

Использует: [`insert_with_markers`](https://chugunov.pro/api-wordpress/functions/insert_with_markers/), [`got_mod_rewrite`](https://chugunov.pro/api-wordpress/functions/got_mod_rewrite/), [`get_home_path`](https://chugunov.pro/api-wordpress/functions/get_home_path/), `WP_Rewrite::mod_rewrite_rules`, `WP_Rewrite::using_mod_rewrite_permalinks`, [`is_multisite`](https://chugunov.pro/api-wordpress/functions/is_multisite/).
Используется в: `WP_Rewrite::flush_rules`.

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/save_mod_rewrite_rules/
