From 7710b94ad01257d535f2697ce8fcd56d30a95e5d Mon Sep 17 00:00:00 2001 From: ryan Date: Thu, 10 Nov 2005 23:25:39 +0000 Subject: [PATCH] Add radio button for our default permalink structure. Add got_mod_rewrite(). Props Mark Jaquith. fixes #1840 git-svn-id: http://svn.automattic.com/wordpress/trunk@3029 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/admin-functions.php | 25 ++++++++++++++++++++++++- wp-admin/options-permalink.php | 25 +++++++++++++++++++------ 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/wp-admin/admin-functions.php b/wp-admin/admin-functions.php index 78b3f9bc5b..0b8e7cb0ec 100644 --- a/wp-admin/admin-functions.php +++ b/wp-admin/admin-functions.php @@ -975,6 +975,29 @@ function extract_from_markers($filename, $marker) { return $result; } +function got_mod_rewrite() { + global $is_apache; + + // take 3 educated guesses as to whether or not mod_rewrite is available + if ( !$is_apache ) + return false; + + if ( function_exists('apache_get_modules') ) { + if ( !in_array('mod_rewrite', apache_get_modules()) ) + return false; + } + + if ( function_exists('ob_get_clean') ) { + ob_start(); + phpinfo(INFO_MODULES); + $php_modules = ob_get_clean(); + if ( strpos($php_modules, 'mod_rewrite') === false) + return false; + } + + return true; +} + function save_mod_rewrite_rules() { global $is_apache, $wp_rewrite; $home_path = get_home_path(); @@ -985,7 +1008,7 @@ function save_mod_rewrite_rules() { if (!((!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess'))) return; - if (!$is_apache) + if (! got_mod_rewrite()) return; $rules = explode("\n", $wp_rewrite->mod_rewrite_rules()); diff --git a/wp-admin/options-permalink.php b/wp-admin/options-permalink.php index 229a61d5b0..5d1a84fcab 100644 --- a/wp-admin/options-permalink.php +++ b/wp-admin/options-permalink.php @@ -103,27 +103,40 @@ else

+

+

+