函数文档

iis7_rewrite_rule_exists()

💡 云策文档标注

概述

iis7_rewrite_rule_exists() 函数用于检查 IIS 7+ 配置文件中是否已存在 WordPress 的重写规则。它通过解析 XML 配置文件并查询特定规则名称来实现。

关键要点

  • 函数接受一个必需参数 $filename,表示配置文件的路径字符串。
  • 返回布尔值:如果规则存在则返回 true,否则返回 false。
  • 函数首先检查文件是否存在和 DOMDocument 类是否可用,失败则返回 false。
  • 使用 DOMXPath 查询以 'wordpress' 或 'WordPress' 开头的规则名称。

代码示例

function iis7_rewrite_rule_exists( $filename ) {
    if ( ! file_exists( $filename ) ) {
        return false;
    }

    if ( ! class_exists( 'DOMDocument', false ) ) {
        return false;
    }

    $doc = new DOMDocument();

    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 ( 0 === $rules->length ) {
        return false;
    }

    return true;
}

📄 原文内容

Checks if rewrite rule for WordPress already exists in the IIS 7+ configuration file.

Parameters

$filenamestringrequired
The file path to the configuration file.

Return

bool

Source

function iis7_rewrite_rule_exists( $filename ) {
	if ( ! file_exists( $filename ) ) {
		return false;
	}

	if ( ! class_exists( 'DOMDocument', false ) ) {
		return false;
	}

	$doc = new DOMDocument();

	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 ( 0 === $rules->length ) {
		return false;
	}

	return true;
}

Changelog

Version Description
2.8.0 Introduced.