Leave htaccess alone if permalinks are not turned on. Bug 597.

git-svn-id: http://svn.automattic.com/wordpress/trunk@2006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
rboren 2004-12-27 22:30:52 +00:00
parent 210016e4d4
commit 888021c22a
2 changed files with 27 additions and 12 deletions

View File

@ -497,20 +497,17 @@ function save_mod_rewrite_rules() {
global $is_apache, $wp_rewrite;
$home_path = get_home_path();
if ( (!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess') )
$writable = true;
else
$writable = false;
if (! $wp_rewrite->using_mod_rewrite_permalinks())
return;
if ($wp_rewrite->using_index_permalinks())
$usingpi = true;
else
$usingpi = false;
if ( ! ((!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess')) )
return;
if ( $writable && !$usingpi && $is_apache ) {
$rules = explode("\n", $wp_rewrite->mod_rewrite_rules());
insert_with_markers($home_path.'.htaccess', 'WordPress', $rules);
}
if (! $is_apache)
return;
$rules = explode("\n", $wp_rewrite->mod_rewrite_rules());
insert_with_markers($home_path.'.htaccess', 'WordPress', $rules);
}
function generate_page_rewrite_rules() {

View File

@ -764,6 +764,13 @@ class WP_Rewrite {
's='
);
function using_permalinks() {
if (empty($this->permalink_structure))
return false;
else
return true;
}
function using_index_permalinks() {
if (empty($this->permalink_structure)) {
return false;
@ -777,6 +784,13 @@ class WP_Rewrite {
return false;
}
function using_mod_rewrite_permalinks() {
if ( $this->using_permalinks() && ! $this->using_index_permalinks())
return true;
else
return false;
}
function preg_index($number) {
$match_prefix = '$';
$match_suffix = '';
@ -1058,6 +1072,10 @@ class WP_Rewrite {
}
function mod_rewrite_rules () {
if ( ! $this->using_permalinks()) {
return '';
}
$site_root = str_replace('http://', '', trim(get_settings('siteurl')));
$site_root = preg_replace('|([^/]*)(.*)|i', '$2', $site_root);
if ('/' != substr($site_root, -1)) $site_root = $site_root . '/';