iis7_rewrite_rule_exists

The timeline below displays how wordpress function iis7_rewrite_rule_exists has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Checks if rewrite rule for WordPress already exists in the IIS 7+ configuration file.
 *
 * @since 2.8.0
 *
 * @param string $filename The file path to the configuration file.
 * @return bool
 */
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;
}

WordPress Version: 5.4

/**
 * Check if rewrite rule for WordPress already exists in the IIS 7+ configuration file
 *
 * @since 2.8.0
 *
 * @return bool
 * @param string $filename The file path to the configuration file
 */
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;
    } else {
        return true;
    }
}

WordPress Version: 5.1

/**
 * Check if rewrite rule for WordPress already exists in the IIS 7+ configuration file
 *
 * @since 2.8.0
 *
 * @return bool
 * @param string $filename The file path to the configuration file
 */
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 ($rules->length == 0) {
        return false;
    } else {
        return true;
    }
}

WordPress Version: 4.4

/**
 * Check if rewrite rule for WordPress already exists in the IIS 7+ configuration file
 *
 * @since 2.8.0
 *
 * @return bool
 * @param string $filename The file path to the configuration file
 */
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\')]');
    if ($rules->length == 0) {
        return false;
    } else {
        return true;
    }
}

WordPress Version: 3.7

/**
 * Check if rewrite rule for WordPress already exists in the IIS 7+ configuration file
 *
 * @since 2.8.0
 *
 * @return bool
 * @param string $filename The file path to the configuration file
 */
function iis7_rewrite_rule_exists($filename)
{
    if (!file_exists($filename)) {
        return false;
    }
    if (!class_exists('DOMDocument')) {
        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\')]');
    if ($rules->length == 0) {
        return false;
    } else {
        return true;
    }
}