Fix fatal error on IIS after r16797. props peaceablewhale. Limit variable string searching when possible. See #10187
git-svn-id: http://svn.automattic.com/wordpress/trunk@16904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -3421,6 +3421,34 @@ function apache_mod_loaded($mod, $default = false) {
|
||||
return $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if IIS 7 supports pretty permalinks
|
||||
*
|
||||
* @since 2.8.0
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function iis7_supports_permalinks() {
|
||||
global $is_iis7;
|
||||
|
||||
$supports_permalinks = false;
|
||||
if ( $is_iis7 ) {
|
||||
/* First we check if the DOMDocument class exists. If it does not exist,
|
||||
* which is the case for PHP 4.X, then we cannot easily update the xml configuration file,
|
||||
* hence we just bail out and tell user that pretty permalinks cannot be used.
|
||||
* This is not a big issue because PHP 4.X is going to be depricated and for IIS it
|
||||
* is recommended to use PHP 5.X NTS.
|
||||
* Next we check if the URL Rewrite Module 1.1 is loaded and enabled for the web site. When
|
||||
* URL Rewrite 1.1 is loaded it always sets a server variable called 'IIS_UrlRewriteModule'.
|
||||
* Lastly we make sure that PHP is running via FastCGI. This is important because if it runs
|
||||
* via ISAPI then pretty permalinks will not work.
|
||||
*/
|
||||
$supports_permalinks = class_exists('DOMDocument') && isset($_SERVER['IIS_UrlRewriteModule']) && ( php_sapi_name() == 'cgi-fcgi' );
|
||||
}
|
||||
|
||||
return apply_filters('iis7_supports_permalinks', $supports_permalinks);
|
||||
}
|
||||
|
||||
/**
|
||||
* File validates against allowed set of defined rules.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user