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
檢視更多 >