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.
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. |