iis7_add_rewrite_rule [ WordPress Function ]
iis7_add_rewrite_rule ( $filename, $rewrite_rule )
| Parameters: |
|
| Returns: |
|
| Defined at: |
|
Benzer Fonksiyonlar: add_rewrite_rule, iis7_delete_rewrite_rule, iis7_save_url_rewrite_rules, iis7_rewrite_rule_exists, save_mod_rewrite_rules
Add WordPress rewrite rule to the IIS 7 configuration file.
Source
<?php
function iis7_add_rewrite_rule($filename, $rewrite_rule) {
if ( ! class_exists('DOMDocument') )
return false;
// If configuration file does not exist then we create one.
if ( ! file_exists($filename) ) {
$fp = fopen( $filename, 'w');
fwrite($fp, '<configuration/>');
fclose($fp);
}
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
if ( $doc->load($filename) === false )
return false;
$xpath = new DOMXPath($doc);
// First check if the rule already exists as in that case there is no need to re-add it
$wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
if ( $wordpress_rules->length > 0 )
return true;
// Check the XPath to the rewrite rule and create XML nodes if they do not exist
$xmlnodes = $xpath->query('/configuration/system.webServer/rewrite/rules');
if ( $xmlnodes->length > 0 ) {
$rules_node = $xmlnodes->item(0);
} else {
$rules_node = $doc->createElement('rules');
$xmlnodes = $xpath->query('/configuration/system.webServer/rewrite');
if ( $xmlnodes->length > 0 ) {
$rewrite_node = $xmlnodes->item(0);
$rewrite_node->appendChild($rules_node);
} else {
$rewrite_node = $doc->createElement('rewrite');
$rewrite_node->appendChild($rules_node);
$xmlnodes = $xpath->query('/configuration/system.webServer');
if ( $xmlnodes->length > 0 ) {
$system_webServer_node = $xmlnodes->item(0);
$system_webServer_node->appendChild($rewrite_node);
} else {
$system_webServer_node = $doc->createElement('system.webServer');
$system_webServer_node->appendChild($rewrite_node);
$xmlnodes = $xpath->query('/configuration');
if ( $xmlnodes->length > 0 ) {
$config_node = $xmlnodes->item(0);
$config_node->appendChild($system_webServer_node);
} else {
$config_node = $doc->createElement('configuration');
$doc->appendChild($config_node);
$config_node->appendChild($system_webServer_node);
}
}
}
}
$rule_fragment = $doc->createDocumentFragment();
$rule_fragment->appendXML($rewrite_rule);
$rules_node->appendChild($rule_fragment);
$doc->encoding = "UTF-8";
$doc->formatOutput = true;
saveDomDocument($doc, $filename);
return true;
}
?>
Examples [ wp-snippets.com ]
Google Arama Sonuçlarý
- Docs for page misc.php
bool iis7_add_rewrite_rule (string $filename, string $rewrite_rule). string $ filename: The file path to the configuration file; string $rewrite_rule: The XML fragment ...
phpdoc.wordpress.org - colors as $html_color - WordPress SVN
... { return iis7_add_rewrite_rule($web_config_file, $rule); } else { return iis7_delete_rewrite_rule($web_config_file); } } return false; } /** * {@internal Missing Short ...
core.svn.wordpress.org - iis7_save_url_rewrite_rules() WordPress function reference ...
... if ( ! empty($rule) ) { return iis7_add_rewrite_rule($web_config_file, $rule); } else { return iis7_delete_rewrite_rule($web_config_file); } } return false; } ...
queryposts.com - PHPXRef 0.7 : WordPress : /wp-admin/includes/misc.php source
... 163 if ( ! empty($rule) ) { 164 return iis7_add_rewrite_rule($web_config_file, $ rule); 165 } else { 166 return iis7_delete_rewrite_rule($web_config_file); 167 } ...
phpxref.ftwr.co.uk