从web.config文件中删除WordPress重写规则(如果存在)

原型

iis7_delete_rewrite_rule( string $filename )

参数

$filename (string) (Required) 配置文件的名称

返回值

(bool)  

源文件

路径:wp-admin/includes/misc.php

<?php
...
function iis7_delete_rewrite_rule($filename) {
	// If configuration file does not exist then rules also do not exist so there is nothing to delete
	if ( ! file_exists($filename) )
		return true;
	if ( ! class_exists( 'DOMDocument', false ) ) {
		return false;
	}
	$doc = new DOMDocument();
	$doc->preserveWhiteSpace = false;
	if ( $doc -> load($filename) === false )
		return false;
	$xpath = new DOMXPath($doc);
	$rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,'wordpress')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,'WordPress')]');
	if ( $rules->length > 0 ) {
		$child = $rules->item(0);
		$parent = $child->parentNode;
		$parent->removeChild($child);
		$doc->formatOutput = true;
		saveDomDocument($doc, $filename);
	}
	return true;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/iis7_delete_rewrite_rule/