iis7_delete_rewrite_rule()

最后更新于:2021-11-27 05:59:13

iis7_delete_rewrite_rule( string$filename)

Delete GeChiUI rewrite rule from web.config file if it exists there

参数

$filename

(string) (Required) Name of the configuration file

响应

(bool)

源文件

文件: gc-admin/includes/misc.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,'gechiui')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,'GeChiUI')]' );
	if ( $rules->length > 0 ) {
		$child  = $rules->item( 0 );
		$parent = $child->parentNode;
		$parent->removeChild( $child );
		$doc->formatOutput = true;
		saveDomDocument( $doc, $filename );
	}
	return true;
}