iis7_delete_rewrite_rule

函数
iis7_delete_rewrite_rule ( $filename )
参数
  • (string) $filename Name of the configuration file.
    Required:
返回值
  • (bool)
定义位置
相关方法
iis7_add_rewrite_ruleiis7_save_url_rewrite_rulesiis7_rewrite_rule_existsadd_rewrite_rulesave_mod_rewrite_rules
引入
2.8.0
弃用
-

iis7_delete_rewrite_rule: 这个函数从IIS7服务器上删除一个重写规则。

从web.config文件中删除WordPress的重写规则,如果它存在的话。

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

常见问题

FAQs
查看更多 >